Bash 里面的引号

单引号' '

目的: 为了保护文字不被转换.除了他本身. 就是说除去单引号外, 在单引号内的所有文字都是原样输出.

echo '$*><!'

输出:$*><!

echo 'she is crying: "help"'

输出:she is crying: "help"

echo '\\\\'

输出:\\\\

echo 'hah 'test''

输出:hah test # 略去了所有'

echo ' today is `date`'

输出:today is `date` # 反引号在此无法实现函数功能.

 

双引号" "

目的: 为了包含文字或者函数段. 除了本身,反引号内的函数,$开头的变量和\\开头反转换的字符外, 其余都是直接输出.

echo "today is `date`"

输出:today is Fri Jul 4 08:03:34 GMT 2008

echo "today is 'date'" 

输出:today is 'date'# 直接输出单引号

echo "\\\\"

输出:\\

echo "test "test""

输出:test test

 

反引号` `

目的: 是为了在双引号内保持函数转换. 但单引号内其无作用.

echo "today is `date`"

输出:today is Fri Jul 4 08:03:34 GMT 2008

echo ' today is `date` '

输出:today is `date` # 在单引号内无作用.

 

如何输出 abc'abc

echo 'abc'\''abc'
echo -e 'abc\x27abc'
echo $'abc\'abc' # bash特有

posted on 2012-09-14 10:31  究生  阅读(211)  评论(0)    收藏  举报

导航