我用它来检查 bash shell 中的参数数量,如下所示:
#! /bin/bash
usage() {
echo "Usage: $0 <you need to specify at least 1 param>"
exit -1
}
[ x = x$1 ] && usage
其中,如果 [ x = x$1 ] 条件不满足,执行用法。 在这里,我的问题是,我从来没有真正考虑过看起来很像条件表达式的表达式 [ x = x$1 ]。 x算作文字吗?为什么我们可以使用 = 进行比较。通常它应该是类似 == 的东西吗?
有人可以填补这里的空白吗?
最佳答案
[ x = y ]
条件用于比较字符串。 (仅一次 =
)
x$1
表示连接两个字符串x
和$1
。
因此,如果 $1
为空,则 x$1
等于 x
,并且 [ x = x ]
将结果为真。
关于linux - 检查bash shell脚本中的参数数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20415845/