bashスクリプトに渡されたパラメーターのいずれかが文字列と一致するかどうかを確認するスクリプトを作成しようとしています。今のセットアップ方法は
if [ "$3" != "-disCopperBld" -a "$4" != "-disCopperBld" -a "$5" != "-disCopperBld" -a "$6" != "-disCopperBld"]
しかし、多くのパラメータがあるかもしれないので、これを行うより良い方法があるのだろうかと思っていましたか?
ありがとう
編集:このコードの塊を試し、オプション-disableVenusBldを指定してスクリプトを呼び出しましたが、それでも「Starting build」が出力されます。私は何か間違っていますか?前もって感謝します!
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
#! /bin/sh -
そこに含まれているものの先頭に追加し、スクリプトを実行可能にし、./t.sh
「Starting build」を./t.sh -disableVenusBld
出力しますが、何も出力しません。