当前位置: 技术问答>linux和unix
转义符的一个问题,20分相送
来源: 互联网 发布时间:2016-07-15
本文导语: :/bin # echo "vvv" vvv :/bin # echo vvv vvv ====一个思路没有打通,就是echo vvv 直接呼出vvv是去掉的结果vvv,但加了""号呼出的结果增加了转义符vvv,按照一般的解释双引号情况下的符是起作用的,因此我原来的...
:/bin # echo "vvv"
vvv
:/bin # echo vvv
vvv
====一个思路没有打通,就是echo vvv 直接呼出vvv是去掉的结果vvv,但加了""号呼出的结果增加了转义符vvv,按照一般的解释双引号情况下的符是起作用的,因此我原来的理解应该""下也是出现vvv的。事实上这个符号没有消失掉,我解释为""下的符没有生效,但这个就不好解释"$0"的结论了,
这个结论是:~/tmp> echo "$0" -bash
但是实际情况是否是这样,请各位大侠指教谢谢~~
vvv
:/bin # echo vvv
vvv
====一个思路没有打通,就是echo vvv 直接呼出vvv是去掉的结果vvv,但加了""号呼出的结果增加了转义符vvv,按照一般的解释双引号情况下的符是起作用的,因此我原来的理解应该""下也是出现vvv的。事实上这个符号没有消失掉,我解释为""下的符没有生效,但这个就不好解释"$0"的结论了,
这个结论是:~/tmp> echo "$0" -bash
但是实际情况是否是这样,请各位大侠指教谢谢~~
|
你现在的问题是:
echo “vvv" 输出:vvv
echo "$0" 输出:$0 ,依据前一个推论,他应该输出: $0 ?
//引用bash中的帮助
Enclosing characters in double quotes preserves the literal value of all characters within the quotes, with the exception of $ , ` , and . The characters $ and ` retain their special meaning within double quotes. The backslash retains its special meaning only when followed by one of the following characters: $ , ` , ", , or . A double quote may be quoted within double quotes by preceding it with a backslash.
//==========================================================================
其中有一句:双引号中如果要当成转义字符,必须跟$,`,,"这四个字符。注意没有说v
但是echo ”$0" ,首先shell将其"$0"转义为"$0",然后echo程序输出"$0"。至于前一个,shell并不认为"v"并不认为是转义字符,因此不对其进行处理
echo “vvv" 输出:vvv
echo "$0" 输出:$0 ,依据前一个推论,他应该输出: $0 ?
//引用bash中的帮助
Enclosing characters in double quotes preserves the literal value of all characters within the quotes, with the exception of $ , ` , and . The characters $ and ` retain their special meaning within double quotes. The backslash retains its special meaning only when followed by one of the following characters: $ , ` , ", , or . A double quote may be quoted within double quotes by preceding it with a backslash.
//==========================================================================
其中有一句:双引号中如果要当成转义字符,必须跟$,`,,"这四个字符。注意没有说v
但是echo ”$0" ,首先shell将其"$0"转义为"$0",然后echo程序输出"$0"。至于前一个,shell并不认为"v"并不认为是转义字符,因此不对其进行处理