Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $n Aufrufparameter mit der Nummer n, n <= 9
- Vordefinierte Variablen
- $* Alle Aufrufparameter
- $@ Alle Aufrufparameter
- $# Anzahl der Aufrufparameter
- $? Rückgabewert des letzten Kommandos
- $$ Prozeßnummer der aktiven Shell
- $! Prozeßnummer des letzten Hintergrundprozesses
- ERRNO Fehlernummer des letzten fehlgeschlagenen Systemaufrufs
- PWD Aktuelles Verzeichnis (wird durch cd gesetzt)
- OLDPWD Vorheriges Verzeichnis (wird durch cd gesetzt)
- Variablen-Substitution
- Variable = Wert Setzt die Variable auf den Wert.
- ${Variable} Nutzt den Wert von Variable. Die Klammern müssen nicht mit angegeben werden, wenn die Variable von Trennzeichen umgeben ist.
- ${Variable:-Wert} Nutzt den Wert von Variable. Falls die Variable nicht gesetzt ist, wird der Wert benutzt.
- ${Variable:=Wert} Nutzt den Wert von Variable. Falls die Variable nicht gesetzt ist, wird der Wert benutzt, und Variable erhält den Wert.
- ${Variable:?Wert} Nutzt den Wert von Variable. Falls die Variable nicht gesetzt ist, wird der Wert ausgegeben und die Shell beendet. Wenn kein Wert angegeben wurde, wird der Text parameter null or not set ausgegeben.
- ${Variable:+Wert} Nutzt den Wert, falls die Variable gesetzt ist, andernfalls nichts.
- Beispiele:
- $ h=hoch r=runter l= Weist den drei Variablen Werte zu, wobei l einen leeren Wert erhält.
- $ echo ${h}sprung Gibt hochsprung aus. Die Klammern müssen gesetzt werden, damit h als Variablenname erkannt werden kann.
- $ echo ${h-$r} Gibt hoch aus, da die Variable h belegt ist. Ansonsten würde der Wert von r ausgegeben.
- $ echo ${tmp-`date`} Gibt das aktuelle Datum aus, wenn die Variable tmp nicht gesetzt ist. (Der Befehl date gibt das Datum zurück)
- $ echo ${l=$r} Gibt runter aus, da die Variable l keinen Wert enthält. Gleichzeitig wird l der Wert von r zugewiesen.
- $ echo $l Gibt runter aus, da l jetzt den gleichen Inhalt hat wie r.
- QUOTING
- ; Befehls-Trennzeichen
- & Hintergrund-Verarbeitung
- ( ) Befehls-Gruppierung
- | Pipe
- < > & Umlenkungssymbole
- * ? [ ] ~ + - @ ! Meta-Zeichen für Dateinamen
- ` ` (Backticks) Befehls-Substitution (Die Backticks erhält man durch [shift] und die Taste neben dem Backspace.
- $ Variablen-Substitution
- [newline] [space] [tab] Wort-Trennzeichen
- Die folgenden Zeichen können zum Quoten verwendet werden:
- " " (Anführungszeichen) Alles zwischen diesen Zeichen ist buchstabengetreu zu interpretieren. Ausnahmen sind folgende Zeichen, die ihre spezielle Bedeutung beibehalten: $ ` "
- ' ' (Ticks) Alles zwischen diesen Zeichen wird wörtlich genommen, mit Ausnahme eines weiteren ' und \. (Die Ticks erhält man bei deutschen Tastaturen durch die Taste neben dem Backspace -- ohne [shift].)
- \ (Backslash) Das Zeichen nach einem \ wird wörtlich genommen. Anwendung z. B. innerhalb von " ", um ", $ und ` zu entwerten. Häufig verwendet zur Angabe von Leerzeichen (space) und Zeilenendezeichen, oder um ein \-Zeichen selbst anzugeben.
- user@linux $ echo 'Ticks "schützen" Anführungszeichen'
- Ticks "schützen" Anführungszeichen
- user@linux $ echo "Ist dies ein \"Sonderfall\"?"
- Ist dies ein "Sonderfall"?
- user@linux $ echo "Sie haben `ls | wc -l` Dateien in `pwd`"
- Sie haben 43 Dateien in /home/rschaten
- user@linux $ echo "Der Wert von \$x ist $x"
- Der Wert von $x ist 100
- METAZEICHEN
- * Eine Folge von keinem, einem oder mehreren Zeichen
- ? Ein einzelnes Zeichen
- [abc] Übereinstimmung mit einem beliebigen Zeichen in der Klammer
- [a-q] Übereinstimmung mit einem beliebigen Zeichen aus dem angegebenen Bereich
- [!abc] Übereinstimmung mit einem beliebigen Zeichen, das nicht in der Klammer ist
- ~ Home-Verzeichnis des aktuellen Benutzers
- ~name Home-Verzeichnis des Benutzers name
- ~+ Aktuelles Verzeichnis
- ~- Vorheriges Verzeichnis
- Beispiele:
- ls neu* Listet alle Dateien, die mit 'neu' anfangen
- ls neu? Listet 'neuX', 'neu4', aber nicht 'neu10'
- ls [D-R]* Listet alle Dateien, die mit einem Großbuchstaben zwischen D und R anfangen (Natürlich wird in Shell-Skripten -- wie überall in der Unix-Welt -- zwischen Groß- und Kleinschreibung unterschieden.)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement