!!!!!!!!still under construction!!!!!!!!!
Funktionen:
werden definiert durch...
function FunktionsName {
...code...
}
oder...
FunktionsName() {
...code...
}
- Vorteile einer Funktion gegenueber einem Shell-Script:
- schnellere Ausfuehrung, wenn einmal geladen ( ist dann im Speicher der Shell )
- Modularisierung komplexerer Shell-Programmier-Probleme
- Funktion gleichen Namens wie Shell-Script hat Vorrang
- Zusammenfassung mehrerer Funktionen in einer Datei (als Shell-Script)
Obwohl bei der Ausfuehrung einer Funktion meist keine Sub-Shell gestartet wird, bekommt jede Funktion eine lokale Kopie der benoetigten Variablen ($*, $0, $1 usw).
Werden in einer Funktion Variablen oder Traps gesetzt, sind sie allerdings nach Ausfuehrung der Funktion in der ausfuehrenden Shell (meist ein Script) global sichtbar.
typeset -f
- zeigt Namen und Definitionen der verfuegbaren Funktionen
type FunktionsName
- zeigt die Definition der Funktion FunktionsName
- allgemeiner Vorrang bei der Ausfuehrung:
- Aliases (nicht in jeder Shell verfuegbar)
- Keywords (Schluesselwoerter der Shell wie
case
und
while
usw.)
- Funktionen
- built-ins (in der Shell eingebaute Kommandos wie
cd
und
echo
usw.)
- Shell-Scripts und binaere Dateien abhangig vom Inhalt von PATH
Hier sind ein paar Links, die zu den besprochenen Beispielen aus dem Skript fuehren:
Boot-Diskette
cal
systemunabhaengiger prompt (mit echo ohne abschliessendes newline)
pick
bundle