首先, 单引号和双引号,都是为了解决中间有空格的问题。
因为空格在linux中时作为一个很典型的分隔符,比如 string1=this is a string,这样执行就会报错。为了避免这个问题,因此就产生了单引号和双引号。他们的区别在于,单引号将剥夺其中的所有字符的特殊含义,而双引号中的 '$'(参数替换)和'`'(命令替换)是例外。所以,两者基本上没有什么区别,除非在内容中遇到了参数替换符$和命令替换符`。
num=3
echo '$num'
echo xxxxx
echo "$num"
echo '$num'
echo xxxxx
echo "$num"
所以下面的结果:
$num
xxxxx
3
xxxxx
3
所以,如果需要在双引号””里面使用这两种符号,需要用反斜杠转义。
echo "$num"
结果:
$num