使用八进制ASCII码echo特殊字符

八进制ASCII码特殊字符列表:

041 !   042 "   043 #   044 $   045 %   046 &   047 '
050 (   051 )   052 *   053 +   054 ,   055 -   056 .   057 /
072 :   073 ;   074 <   075 =   076 >   077 ?

使用方法:

echo -e '\047'
# 打印输出一个单引号

当需要同时打印单引号、双引号和$符等等的时候,该方法比较方便
存在问题,如果特殊字符后面跟数字,则会造成歧义:

echo -e '\047 \0471'
# 第一个正常打印单引号,第二个打印9

简单应用举例:

echo -en 'mysq.host: \047 ';echo -e '192.168.77.10\047'|cat -A
# 使用\047打印一个单引号,cat -A 最终拼出来一个$符号
echo -en 'mysq.host: \047 \b';echo -e '192.168.77.10\047'|cat -A
# 单引号后面有一个空格,可以使用\b退格消除掉
su - oracle -c "echo -ne '\047';echo -e '192.168.1.1\047'"
# su命令使用双引号引起来,echo 使用单引号引起来,又要打印单引号,则使用\047拼出
su - oracle -c "echo -ne '\042';echo -e '192.168.1.1\042'"
# 同样道理,使用\042拼双引号

猜你喜欢

转载自blog.csdn.net/zwjzqqb/article/details/80665621
今日推荐