Shell-Funktion

Aus Mikiwiki
Version vom 1. Februar 2009, 17:29 Uhr von Michi (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Eine Shell-Funktion verhält sich wie eine Funktion in anderen Programmiersprachen auch. Sie besteht aus einem Funktionsnamen und einer Befehlsliste.

Syntax

Bei Verwendung von "Funktionsname" im weiteren Verlauf eines Shellskripts führt die Shell die "Befehlsliste" der Funktion "Funktionsname" aus. Innerhalb der Funktion kann mit "$1", "$2" usw. auf die Parameter zugegriffen werden. Die Anzahl der Parameter ist "$#". Die Variable "$0" enthält aber nicht den Funktionsnamen, sondern den Namen des Shellskripts. Im Gegensatz zu Shellskripts sind Shell-Funktionen immer lokal, werden also nicht exportiert, und sind daher in der Subshell nicht bekannt.

Funktionsname ()
{
  Befehlsliste
}

Verwendung

Definition einer Funktion in der Datei ".profile", die dann ähnlich wie ein Shell-Befehl benutzt werden kann.

# Bilden der Funktion "wo":
function wo
{
  find . -name $1
}

Definition einer Funktion, die alle Verzeichnisse im aktuellen Verzeichnis auflistet, wobei dem Befehl "ls" beliebige Argumente mitgegeben werden können.

$ lsd () { ls -l $* | grep ^d; }