Next: Shell-Variablen Up: Shell-Scripts Previous: Kommentare
Argumentübergabe beim Aufruf eines Shell-Scripts
cmdfile arg1 arg2 ... argn
Die Bezugnahme auf die Argumentwerte cmdfile (entspricht arg0 ),
arg1 , arg2 ...
argn erfolgt in cmdfile selbst über die speziellen
Shell-Variablen $0, $1, $2 ... $n
(die Namen der Shell-Variablen sind 0, 1 usw.)
-
Beispiel:
-
Das ausführbare File lsdir enthalte die Zeile
ls -l $1 | grep '^[Dd]'
-
So ergeben sich beispielweise folgende Aufrufmöglichkeiten:
lsdir /usr # Listen aller Verzeichnisse, # die im Verzeichnis /usr enthalten sind lsdir . # Listen aller Verzeichnisse im aktuellen Verzeichnis lsdir # dto. ("leere Zeichenkette")
-
allgemein:
lsdir [verzeichnis]
- Bemerkung: Behandlung mehrerer Verzeichnisse kommt später
-
Das ausführbare File lsdir enthalte die Zeile
-
Mit $0 kann auf den Namen des Kommandofiles zugegriffen werden. Die Angabe $*
umfaßt alle Argumente arg1 bis argn ; sie
wird angewendet, wenn die genaue Anzahl der Argumente nicht bekannt ist bzw. wenn n
den Wert 9 übersteigt.
- Bemerkung: Hinweis auf shift-Kommando (später)
-
Mit der speziellen Shell-Variablen $# kann auf die Anzahl der beim Aufruf
übergebenen Argumente (arg1 bis argn ) Bezug
genommen werden
-
Beispiel: Shell-Script argecho
echo -n Es wurden $# Argumente uebergeben echo : $*
Aufruf:$ argecho rot gelb blau Es wurden 3 Argumente uebergeben: rot gelb blau $ argecho Es wurden 0 Argumente uebergeben
-
Beispiel: Shell-Script argecho