反引号

shell中单引号、双引号、反引号的使用

末鹿安然 提交于 2021-01-07 06:57:21
在编写shell脚本时,会经常地使用到单引号、双引号、反引号这些特殊的符号。它们在shell中有着不同的作用,但容易被误用和引起混乱。简单总结一下三者的使用和区别。 单引号 它关闭shell中所有的特殊符号使用和解释,即单引号间的内容全部以普通字符的含义进行文本使用和解释,不管是特殊字符 $ ,还是转义字符之类的。例子: <!-- lang: shell --> ~$ a=12;test='this is a $a \$ `date`';echo $test this is a $a \$ `date` 双引号 它关闭shell中大部分的特殊符号,但是某些保留,比如 $ ,转义字符 \(不包括\n,\t之类),反引号字符,单引号字符在双引号中时作为普通字符,不具有上面的功能作用。例子: <!-- lang: shell --> ~$ a=12;test="this is a $a \b `date`";echo $test this is a 12 \b Thu Mar 21 15:24:45 HKT 2013 ~$ a=12;test="'this is a $a \b `date`'";echo $test 'this is a 12 \b Thu Mar 21 15:32:09 HKT 2013' ~$ a=12;test="this is a $a \n `date`"