Próbuję napisać skrypt, w którym chcę sprawdzić, czy którykolwiek z parametrów przekazanych do skryptu bash jest zgodny z ciągiem. Mam teraz konfigurację
if [ "$3" != "-disCopperBld" -a "$4" != "-disCopperBld" -a "$5" != "-disCopperBld" -a "$6" != "-disCopperBld"]
ale może istnieć duża liczba parametrów, więc zastanawiałem się, czy istnieje lepszy sposób, aby to zrobić?
Dzięki
EDYCJA: Wypróbowałem ten fragment kodu i wywołałem skrypt z opcją -disableVenusBld, ale nadal wypisuje „Uruchamianie kompilacji”. czy robię coś źle? Z góry dziękuję!
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 -
na górę tego, co tam umieściłeś, spowodowałem, że skrypt jest wykonywalny, a następnie ./t.sh
wypisuje „Uruchamianie kompilacji”, ale ./t.sh -disableVenusBld
nic nie drukuje.