单引号与双引号的最大不同在于双引号仍然可以保有变量的内容,但单引号内仅能是一般字符 ,而不会有特殊符号。以下面例子说明:定义一个变量a
BJS\lisa.liu@lisaliuubtpc:~/bin$ a='$$Lisa'
BJS\lisa.liu@lisaliuubtpc:~/bin$ echo " my name is $a"
my name is $$Lisa
BJS\lisa.liu@lisaliuubtpc:~/bin$ a="$$Lisa"
BJS\lisa.liu@lisaliuubtpc:~/bin$ echo " my name is $a"
my name is 5825Lisa
BJS\lisa.liu@lisaliuubtpc:~/bin$ echo $$
5825
发现了吗?没错!使用了单引号的时候,那么 $a 将失去原有的变量内容, 仅为一般字符的显示型态而已!双引号能保持$,\,和`的特殊含义
note: $$为当前bash进程的pid