单引号与双引号的最大不同在于:
- 双引号仍然可以保有变量的内容
- 单引号内仅能是一般字符 ,而不会有特殊符号。
我们以底下的例子做说明:假设您定义了一个变量,name=VBird ,现在想以 name 这个变量的内容定义出 myname 显示 VBird its me 这个内容,要如何订定呢?
[root@linux ~]# name=VBird
[root@linux ~]# echo $name
VBird
[root@linux ~]# myname="$name its me"
[root@linux ~]# echo $myname
VBird its me
[root@linux ~]# myname='$name its me'
[root@linux ~]# echo $myname
$name its me
注:发现了吗?没错!使用了单引号的时候,那么 $name 将失去原有的变量内容, 仅为一般字符的显示型态而已!这里必需要特别小心在意!
"本文介绍了Linux shell脚本中单引号与双引号的区别。双引号允许保留变量内容,例如`name=VBird`后,`echo "$name"`会显示`VBird`。而单引号内的变量将被视为普通字符,如`echo '$nameitsme'`会原样输出`$nameitsme`,不会解析变量。理解这一差异对于编写shell脚本至关重要。"
731

被折叠的 条评论
为什么被折叠?



