24.02.2013 Aufrufe

Einf ¨uhrung in UNIX - CIS

Einf ¨uhrung in UNIX - CIS

Einf ¨uhrung in UNIX - CIS

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

2.5 Shells 83<br />

an. Mittels unalias wird e<strong>in</strong> Alias aufgehoben. Aliases lassen sich nur unter<br />

bestimmten Bed<strong>in</strong>gungen schachteln.<br />

E<strong>in</strong>ige Shells bieten Shellfunktionen als Alternative zu Aliasnamen an. In<br />

der Bourne- und der Kornshell kann man e<strong>in</strong>e Funktion dir() def<strong>in</strong>ieren:<br />

dir () { pwd; ls -l $*; }<br />

(die Zwischenräume um die geschweiften Klammern s<strong>in</strong>d wichtig) die wie<br />

e<strong>in</strong> Shellkommando aufgerufen wird. E<strong>in</strong>en Weg zum Exportieren haben wir<br />

nicht gefunden. Mittels unset dir wird die Funktion gelöscht.<br />

Die durch die Anmeldung erzeugte erste Shell – die Sitzungsshell – ist<br />

gegen e<strong>in</strong>ige E<strong>in</strong>gabefehler besonders geschützt. Sie läßt sich nicht durch<br />

das Signal Nr. 15 (SIGTERM) beenden, auch nicht durch die E<strong>in</strong>gabe von<br />

EOF (File-Ende, üblicherweise control-d, festgelegt durch stty(1) <strong>in</strong><br />

$HOME/.profile), sofern dies durch das Kommando set -o ignoreeof<br />

e<strong>in</strong>gestellt ist.<br />

2.5.1.2 Umgebung<br />

Die Shells machen noch mehr. Sie stellen für jede Sitzung e<strong>in</strong>e Umgebung<br />

(environment, environnement) bereit. Dar<strong>in</strong> s<strong>in</strong>d e<strong>in</strong>e Reihe von Variablen<br />

oder Parametern enthalten, die der Benutzer bzw. se<strong>in</strong>e Programme immer<br />

wieder brauchen, beispielsweise die Namen des Home-Verzeichnisses und der<br />

Mailbox, der Term<strong>in</strong>altyp, der Prompt, der Suchpfad für Kommandos, die<br />

Zeitzone. Mit dem <strong>in</strong>ternen Kommando set holen Sie Ihre Umgebung auf<br />

den Bildschirm. Sie können Ihre Umgebung verändern und aus Programmen<br />

oder Shellscripts heraus abfragen.<br />

Die Shellvariablen gliedern sich <strong>in</strong> zwei Gruppen:<br />

• benannte Variable oder Parameter, auch als Schlüsselwortparameter bezeichnet,<br />

• Positionsvariable oder -parameter.<br />

Benannte Variable haben e<strong>in</strong>en e<strong>in</strong>deutigen Namen und erhalten ihren Inhalt<br />

oder Wert durch e<strong>in</strong>e Zuweisung:<br />

TERM=vt100<br />

Die Positionsvariablen werden von der Shell beim Aufruf e<strong>in</strong>es Kommandos<br />

automatisch mit bestimmten Positionen aus der Kommandozeile gefüllt;<br />

sie ermöglichen den gezielten Zugriff auf Teile der Kommandozeile. Näheres<br />

dazu im Abschnitt 2.5.2 Shellscripts auf Seite 88. In der Umgebung gibt es<br />

nur benannte Variable (programmiertechnisch ist die Umgebung e<strong>in</strong> Array<br />

von Str<strong>in</strong>gs).<br />

Benannte Variable gelten zunächst nur <strong>in</strong> der Shell, <strong>in</strong> der sie erzeugt<br />

wurden. Sie s<strong>in</strong>d lokal. Erst mit Hilfe e<strong>in</strong>er export-Anweisung werden sie<br />

global und gelten dann für die Shell und ihre Abkömml<strong>in</strong>ge:<br />

MEINNAME="Wulf Alex"; export MEINNAME<br />

export SEINNAME="Bjoern Alex"

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!