Shell程序中的单引号、双引号、反引号、反斜线在命令中有特殊含义。
双引号表示引用一个字符串。字符串里不能直接使用$、引号、双引号、反斜线、反引号这些特殊符号。如果字符串里没有空格,使用双引号将赋值的字符串引起来,和不使用双引号效果是一样的。当字符串中有空格时,用双引号表示引号中的内容为一个字符串。
单引号表示引用一个字符串,用法和双引号是相似的。如果双号号中再使用单引号,则输出时会输出这个单引号。
反引号用于执行引号中的系统命令,然后将命令的结果返回。这个返回的结果可以赋值给一个变量。
例如
-bash-4.1# echo today is `date`
today is Fri Oct 16 12:32:16 CST 2015
反斜线用于对特殊字符进行转义。如果字符串中含有&、*、+、^、$、`、"、|、?这些含有特殊符串,shell会认为这些符串代表着相应的运算。可以使用反斜线对这些符串进行转义。
例如
-bash-4.1# echo \$a
$a