1、单引号和双引号
单引号和双引号在shell编程中是为了消除空格带来的影响,如下所示。
[root@eai-master ty-create]# q=qianiqnag qianhd
-bash: qianhd: command not found
但是单引号剥夺了所有字符的特殊含义。而双引号没有。
2、反引号
这个东西的用法,我百度了一下,和$()是一样的。在执行一条命令时,会先将其中的 ``,或者是$() 中的语句当作命令执行一 遍,再将结果加入到原命令中重新执行,例如:
echo `ls`
会先执行 ls 得到xx.sh等,再替换原命令为:
echo xx.sh
最后执行结果为
xx.sh
那么,平时我们遇到的把一堆命令的执行结果输出到一个变量中,需要用这个命令替换符括起来,也就可以理解了。
这里又涉及到了一个问题,虽然不少系统工程师在使用替换功能时,喜欢使用反引号将命令括起来。但是根据POSIX规范,要 求系统工程师采用的是$(命令)的形式。所以,我们最好还是遵循这个规范,少用``,多用$()