case "$1" "$2" in

Echtor2oo3

Echtor2oo3

Mitglied
Ist das möglich? Wenn ja wie?
zZ mach ich es mit if [ "$1" = "bla" -o "$2" = "bla"] was mir einfach zu lang, langsam und komplixiert is :/
Ein einfaches "case "$1" "$2" in" währe denk ich flotter, geht so aber nicht.
Jemand nen Tip? :)
 
Code:
#!/bin/bash
case ${1}${2} in
    "aa")   echo "AA";;
    "bb")   echo "BB";;
    *)      echo "nix";;
esac

#> sh test.sh a a
AA

Deine Fragestellung ist ja nicht gerade ausfuehrlich, und es aergert ein wenig, wenn man erstmal ein paar Minuten damit beschaeftigt ist, rauszufinden, was Du gemeint haben koenntest. Dies nur als Tip und Bitte fuer zukuenftige Anfragen.
 
Ja, die Fragestellung ist in der Tat nicht so eindeutig. So wie ich es verstehe will er eher eine Liste von Variablen (in diesem Fall die uebergebenen Parameter), gegen eine Liste von moeglichen Werten matchen.

Ich denke ich wuerde das mit ner For-Schleife machen, einfach fuer jede Variable die Schleife einmal durchlaufen, und alles testen. Sollte in der Bash eigentlich funktionieren, vorrausgesetzt dass wir ueberhaupt davon reden...

mfg,
bytepool
 
Sorry hätte nicht noch kurz vor der Arbeit posten sollen.. :headup:
Also ja es is bash..
Das Problem ist das ich das Script mit 2 Optionen ausführe:
tool -e -w

Wobei sich die reihenfolge der Optionen auch ändern kann:
tool -w -e

Deswegen hatte ich eben die if schleife ([ "$1" = "-e" -o "$2" = "-e"] & [ "$1" = "-w" -o "$2" = "-w"]) um auszuschließen das nur eine Option erkannt wird... Hoffe nu is Licht im dunkeln :p
 
Zuletzt bearbeitet:
Hallo
Na dann schau dir mal getopt an.

Wolfgang
 

Ähnliche Themen

batch script funktioniert nicht ...brauche hilfe

Samba 3.6.25 - OpenLDAP Setup

Daten Convertieren und auf einen Server schieben?

[Gelöst] Suchen und ersetzen mit Hilfe mehrerer Parameter

geburtstags reminder

Zurück
Oben