- $0 enthält den Scriptnamen
- $* enthält alle übergebenen Parameter
- $@ enthält ebenfalls alle übergebenen Parameter
- $1 der erste übergebene Parameter
- $# Anzahl der übergebenen Parameter
- $? Dezimaler Returnwert des letzten Kommandos
- $- Flags die an die Shell übergeben wurden oder mit set gesetzt wurden
- $$ PID der Shell
- $! Prozessnummer des letzten Backgroundkomandos
Positional Parameter
Sie werden automatisch von der Shell gesetzt und enthalten die beim Aufruf übergebenen Parameter. Sie bestehen aus einer oder mehreren Ziffern.Soll eine Substitution erfolgen, so wird dem Parameter ein $ vorangestellt. Der Name muß in geschweifte { } Klammern gesetzt werden, wenn die Shell ihn ansonsten falsch interpretieren würde.
Sie können durch set args geändert werden.
echo "usage : $0 p1 p2"
set abc xyz setzt $1 auf abc , $2 auf xyz
set -s sortiert die positional Parameter
set -- löscht die positional Parameter
automatisch gesetzte Parameter
# $? = 0 Erfolg , $? != 0 Fehler
grep hallo prog.c
ret=$?
if ( $ret = 0 ) echo "gefunden"
else echo "nicht gefunden"