shell脚本中的单、双引号、以及不使用引号的区别

  • 单引号:
    可以说是所见即所得,即将单引号内的内容原样输出,或者描述为单引号里面看见的是什么就会输出什么。
    image

  • 双引号:
    把双引号内的内容输出出来;如果内容中有命令,变量等,会先把变量,命令解析出结果,然后在输出最终内容来,双引号内命令或变量的写法为$(命令或变量)
    image

  • 无引号:
    无引号感觉和有双引号的使用一样,但是无引号的状态下可能会出现无法将含有空格的字符串视为一个整体输出。如果字符串中带有空格等特殊字符,则可能会出问题,需要改加双引号,一般连续的字符串,数字,路径等可以用无引号,不过最好用双引号替代之。

所以,shell中字符串的声明,可以用双引号,单引号,或者不用引号,但当内容中包含空格,则最好用双引号。而命令或变量的写法为$(命令或变量)或...,该用法不能在单引号中生效。

原文地址:https://www.cnblogs.com/enochmeng/p/15209597.html