【发布时间】:2011-03-06 19:51:55
【问题描述】:
我可以在 unix shell 脚本中看到使用了以下构造
[ x"$VAR" = x"VALUE" ]
而不是
[ "$VAR" = "VALUE" ]
为什么?
【问题讨论】:
-
似乎大部分是stackoverflow.com/questions/174119/…的副本
-
如果您使用的是现代 shell,引用就足够了。使用“x”是一种不再需要的古老技术。
-
...对于“现代”的非常松散定义来说确实如此;
x"$foo"成语至少自 1991 年以来就没有用过,只要避免目前标记为过时的各种test使用模式(请参阅pubs.opengroup.org/onlinepubs/9699919799/utilities/test.html 中的OB标记;这些模式确实已经过时了因为它们会导致歧义,导致数据可能与test本身的语法混淆)。