我正在尝试编写一个脚本,在该脚本中,我要检查传递给bash脚本的任何参数是否与字符串匹配。我现在设置的方式是
if [ "$3" != "-disCopperBld" -a "$4" != "-disCopperBld" -a "$5" != "-disCopperBld" -a "$6" != "-disCopperBld"]
但是可能有很多参数,所以我想知道是否有更好的方法可以做到这一点?
谢谢
编辑:我尝试了这段代码,并使用-disableVenusBld选项调用了脚本,但是它仍然打印出“开始构建”。难道我做错了什么?提前致谢!
while [ $# -ne 0 ]
do
arg="$1"
case "$arg" in
-disableVenusBld)
disableVenusBld=true
;;
-disableCopperBld)
disableCopperBld=true
;;
-disableTest)
disableTest=true
;;
-disableUpdate)
disableUpdate=true
;;
*)
nothing="true"
;;
esac
shift
done
if [ "$disableVenusBld" != true ]; then
echo "Starting build"
fi
感谢您的答复,我感谢您抽出宝贵的时间来帮助我。我尝试了一段代码,但似乎无法弄清楚出了什么问题。有任何想法吗?(我已在原始帖子的编辑内容中粘贴了代码)
—
iman453
嗯:对我有用。我将添加
—
诺曼·格雷
#! /bin/sh -
到其中的内容添加到顶部,使脚本可执行,然后显示./t.sh
“正在开始构建”,但./t.sh -disableVenusBld
不显示任何内容。