Я пытаюсь написать скрипт, в котором я хочу проверить, соответствует ли какой-либо из параметров, переданных скрипту 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
#! /bin/sh -
в начало того, что вы там включили, сделал исполняемый скрипт, затем ./t.sh
напечатал «Starting build», но ./t.sh -disableVenusBld
ничего не печатал.