在shell脚本中,单引号(')和双引号(")都用于文本引用,但它们之间有一些区别:
双引号
[1] 当要引用一个变量的值时,一般推荐使用双引号。
[2] 使用双引号除了变量名前缀($)、后引符(`)和转义符(\)外,会使shell不再解释引号中其它所有的特殊字符。
[3] 用双引号时$仍被当成特殊字符,允许引用一个被双引号引起的变量("$variable"), 那也是说$variable会被它的值所代替。
[4] 用双引号还能使句子不被分割开. 一个参数用双引号引起来能使它被看做一个单元,这样即使参数里面包含有空白字符也不会被shell分割开了。
单引号
单引号(' ')和双引号类似,但它不允许解释变量引用,因此,在单引号内的字符$的特殊意思无效了。在单引号内,除了字符',每个特殊字符都只是字面的意思。
单引号(全局引用)比双引号(部分引用)更严格的处理引用部分。
单引号示例:
echo 'This is a single quote: ' echo 'The value of VAR is: $VAR' # $VAR不会被替换 echo 'To get the time using `date` command' # `date`不会被执行
双引号示例:
echo "This is a double quote:" echo "The value of VAR is: $VAR" # $VAR会被替换成变量的值 echo "To get the time using `date` command: $(date)" # `date`会被执行并输出
标签:Shell,双引号,单引号,echo,date,引用,VAR From: https://www.cnblogs.com/yeyuzhuanjia/p/18211234