shell下使用单引号、双引号、无引号、反引号的区别。

单引号:所见即所得,即输出时会将单引号内的所有内容都原样输出,或者描述为单引号里面看到的是什么就输出什么,这成为强引用。

双引号:输出双引号内的所有内容;如果内容中有命令(要反引下)、变量、特殊转义符等,会先把变量命令、转义字符解析出结果,然后再输出最终内容,推荐使用,这称为弱引用。

无引号:赋值时,如果变量内容中有空格,则会造成賦值不完整。而在输出内容时,会将含有空格的字符串视为一个整体来输出;如果内容中有命令(要反引下)、变量等,则会先把变量、命令解析出结果,然后输出最终内容;如果字符串中带有空格等特殊字符,则有可能无法完整地输出,因此需要改加双引号。一般连续的字符串、数字、路径等可以不加任何引号进行赋值和输出,不过最好是用引号替代无引号的情况,特别是对变量賦值时。

反引号:一般用于引用命令,执行的时候命令会被执行,相当于$0,賦值和输出都要用将命令引起来。

猜你喜欢

转载自blog.csdn.net/qq_45930145/article/details/107196100
今日推荐