【发布时间】:2010-09-15 12:06:55
【问题描述】:
我经常在使用自动工具(autoconf、automake)的项目的构建脚本中看到这一点。当有人想要检查 shell 变量的值时,他们经常使用这个成语:
if test "x$SHELL_VAR" = "xyes"; then
...
与像这样简单地检查值相比,这样做有什么好处:
if test $SHELL_VAR = "yes"; then
...
我想我经常看到这个肯定是有原因的,但我不知道它是什么。
【问题讨论】:
-
另见Shell script purpose of x in
"x$Variable"。该问题与此问题重复。 -
另见bash test for empty string with
X""。这个问题实际上也是这个问题的重复,或者涵盖了大部分相同的领域。两个副本都有一些很好的答案。