• 本页内容

22. 单引号(完整引用/严格引用)


就像双引号一样,单引号将保留空格:

$ USERNAME='ramesh natarajan'

但是,单引号不会扩展变量值,即$符号将被视为文字值。 在此示例中,var1 包含$USERNAME而不是变量 USERNAME 的值。

$ USERNAME="ramesh natarajan"
$ var1='$USERNAME'
$ echo $var1
$USERNAME

单引号内使用的任何内容都将按原样使用。

$ echo 'this has "double quotes" in it'
this has "double quotes" in it

基本上单引号保持文本完整,不允许 bash 将文本拆分为多个参数,并且不允许变量替换。

所有特殊字符都被视为文字值。 \可用于转义特殊字符,以便忽略其含义,即使不使用双引号或单引号也是如此。

echo This will not expand \$dollar

注意:上面的工作方式与以下使用双引号和单引号的版本相同。
echo "This will not expand \$dollar"
echo 'This will not expand $dollar'