Bearbeitung einer beliebigen Anzahl von Parametern
Die Positionsparameter $1 bis $9 reichen nicht immer aus. Man denke nur an Skripts,
die (ähnlich wie viele Kommandos) beliebig viele Dateinamen auf Parameterposition erlauben sollen. Die Shell-Skripten können mit mehr als neun Parametern versorgt werden - es wird dann mit dem Befehl shift gearbeitet: shift Eliminieren von $1, $2 ... $n --> $1 ... $n-1 Die Prozedur "zeige" enthält folgende Befehle:
echo "$# Argumente:"
echo "$*"
shift
echo "Nach shift:"
echo "$# Argumente:"
echo "$*"
Der folgende Aufruf von "zeige" liefert:
$ zeige eins zwei drei
3 Argumente:
eins zwei drei
Nach shift:
2 Argumente:
zwei drei
shift wird jedoch viel häufiger verwendet, wenn die Zahl der Parameter variabel
ist. Es wird dann in einer Schleife so lange mit shift gearbeitet, bis die Anzahl
der Parameter 0 ist:
while [ $# -gt 0 ]
do
tuwas mit $1
shift
done
|