在进行linux shell进行开发时,经常用到单引号,双引号,反单引号,具体使用场景及区别做个简单的记录,以便后续查看。
单引号和双引号都可以起到防止变量替换的作用,声明是一个字符串,但是还是有点区别
单引号:可防止所有的变量进行替换,包括 $,*,?,不会解析任何字符
双引号:可防止一部分通配符进行替换,比如 * ? ,但是无法阻止 $进行替换
反单号:可以将一个命令执行的标准输出作为另外一个命令的参数或者赋值给一个变量
变量替换:定义一个变量,aa="test test $test",然后终端输出 echo $aa ,实际输出为:test test
词儿是字符串中$后面的已被当做引用test 变量了,这就是所谓的变量替换。
如何防止变量替换:
1. 在引用变量时,使用 ${变量名} 而不是 $变量名
2. 使用单引号