Shell-单引号和双引号的区别

在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`会被执行并输出

 

posted @ 2024-05-24 16:34  业余砖家  阅读(50)  评论(0编辑  收藏  举报