z00k
I love my slack! Do u?
Howdy,
habe ein Script, welche per 'case' auf uebergebene Argumente mit Value prueft. Nun soll jedoch ein unterschiedliches Verhalten auftreten wenn:
oder
Habe es versucht mit 'test -o' zu loesen, was allerdings nicht funktioniert.
Hoffe es ist halbwegs verstaendlich, was ich meine. Also wenn das Argument mit Value '-c' uebergeben wird, soll geprueft werden, ob zusaetzlich noch das Argument '-l' angegeben wurde. Je nach Fall soll ein anderer Code/Funktion ausgefuehrt werden.
Habe das Problem schon wie verrueckt gegoogled, bisher jedoch keine Loesung gefunden.
Kann mir jemand von den Bash Gurus weiterhelfen?
Thanks!
gReeTz
.
.
.
EDIT (autom. Beitragszusammenführung) :
.
Hmm, kurz nachdem ich den Beitrag geschrieben habe, kam mir ein Geistesblitz
Habe es jetzt so geloest:
Aber es gibt doch bestimmt noch ne elegantere Loesung, oder?
gReetZ
habe ein Script, welche per 'case' auf uebergebene Argumente mit Value prueft. Nun soll jedoch ein unterschiedliches Verhalten auftreten wenn:
Code:
script.sh -c test -l
oder
Code:
script.sh -c test
Habe es versucht mit 'test -o' zu loesen, was allerdings nicht funktioniert.
Code:
do
case "$optname" in
"i")
...
;;
"h")
...
;;
"c")
echo "Option $optname has the value $OPTARG"
CGIBIN=$OPTARG
if [ -o "l" ]
then
funktion1
else
funktion2
fi
;;
...
Hoffe es ist halbwegs verstaendlich, was ich meine. Also wenn das Argument mit Value '-c' uebergeben wird, soll geprueft werden, ob zusaetzlich noch das Argument '-l' angegeben wurde. Je nach Fall soll ein anderer Code/Funktion ausgefuehrt werden.
Habe das Problem schon wie verrueckt gegoogled, bisher jedoch keine Loesung gefunden.
Kann mir jemand von den Bash Gurus weiterhelfen?
Thanks!
gReeTz
.
.
.
EDIT (autom. Beitragszusammenführung) :
.
Hmm, kurz nachdem ich den Beitrag geschrieben habe, kam mir ein Geistesblitz
Habe es jetzt so geloest:
Code:
...
"h")
...
;;
"c")
echo "Option $optname has the value $OPTARG"
CGIBIN=$OPTARG
while getopts ":l" optname
do
case "$optname" in
"l")
echo "Using c and l! Looks good!"
;;
esac
done
;;
...
Aber es gibt doch bestimmt noch ne elegantere Loesung, oder?
gReetZ
Zuletzt bearbeitet: