Ich versuche, ein Skript zu schreiben, in dem überprüft werden soll, ob einer der an ein Bash-Skript übergebenen Parameter mit einer Zeichenfolge übereinstimmt. Die Art, wie ich es gerade eingerichtet habe, ist
if [ "$3" != "-disCopperBld" -a "$4" != "-disCopperBld" -a "$5" != "-disCopperBld" -a "$6" != "-disCopperBld"]
aber es könnte eine große Anzahl von Parametern geben, also habe ich mich gefragt, ob es einen besseren Weg gibt, dies zu tun?
Vielen Dank
BEARBEITEN: Ich habe diesen Code ausprobiert und das Skript mit der Option -disableVenusBld aufgerufen, aber es wird immer noch "Starting build" ausgegeben. Mache ich etwas falsch? Danke im Voraus!
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 -
, was Sie dort eingefügt haben, das Skript ausführbar gemacht und dann ./t.sh
"Starting build" ./t.sh -disableVenusBld
ausgegeben , aber nichts gedruckt.