Sto cercando di scrivere uno script in cui desidero verificare se uno qualsiasi dei parametri passati a uno script bash corrisponde a una stringa. Il modo in cui l'ho installato in questo momento è
if [ "$3" != "-disCopperBld" -a "$4" != "-disCopperBld" -a "$5" != "-disCopperBld" -a "$6" != "-disCopperBld"]
ma potrebbe esserci un gran numero di parametri, quindi mi chiedevo se c'è un modo migliore per farlo?
Grazie
EDIT: ho provato questo pezzo di codice e ho chiamato lo script con l'opzione -disableVenusBld, ma stampa comunque "Avvio della build". Sto facendo qualcosa di sbagliato? Grazie in anticipo!
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 -
all'inizio di ciò che hai incluso lì, reso eseguibile lo script, quindi ./t.sh
stampa "Avvio build", ma ./t.sh -disableVenusBld
non stampa nulla.