BASH: Kommandozeilenparameter der Reihe nach abarbeiten

26/08/2009 - 23:30 von Bernd Hohmann | Report spam
ich gestehe, ich bin faul (und auch sehr müde).

Könnte mir jemand mit einem Muster aus seiner Schublade aushelfen?

./usersetup register bernd

case "$1" in
register) register_user $2;;
*) echo "register etc blah";;
esac

wie bohre ich das am sinnigsten auf, das ich sowas machen kann:

./usersetup register bernd,karin,elke,sabine,gabi,heidi

Aus alten DOS Zeiten fàllt mir da irgendwas mit SHIFT ein.

Bernd

Visit http://www.nixwill.de and http://www.spammichvoll.de
jean.oliver@nixwill.de & bernado.bernhardi@spammichvoll.de
 

Lesen sie die antworten

#1 Torsten Fleischmann
26/08/2009 - 23:43 | Warnen spam
* Bernd Hohmann schrieb:

ich gestehe, ich bin faul (und auch sehr müde).



Google doch mal shift + bash ...

Könnte mir jemand mit einem Muster aus seiner Schublade aushelfen?

./usersetup register bernd

case "$1" in
register) register_user $2;;
*) echo "register etc blah";;
esac

wie bohre ich das am sinnigsten auf, das ich sowas machen kann:

./usersetup register bernd,karin,elke,sabine,gabi,heidi

Aus alten DOS Zeiten fàllt mir da irgendwas mit SHIFT ein.



while test $# -gt 0
do
[ mach was mit $1 ]
shift 1
done

Solltest allerdings kein "," zwischen den namen haben (naja, du kannst
allerdings auch IFS=${IFS}"," machen.)

Tschüß,
Torsten

Ähnliche fragen