04.11.2013 Aufrufe

Unix-Linux, Eine Einführung von Wolfgang Paulina (de)

Unix-Linux, Eine Einführung von Wolfgang Paulina (de)

Unix-Linux, Eine Einführung von Wolfgang Paulina (de)

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

6. Die csh/tcsh - Shell 59<br />

Für die Ausgabe <strong>de</strong>r Usage wird in obiger Prozedur die Variable $0 verwen<strong>de</strong>t. In ihr wird <strong>de</strong>r Name<br />

<strong>de</strong>r Datei abgelegt, die die Prozedur enthält. Die Maskierung <strong>de</strong>s Doppelpunktes beim zweiten echo-<br />

Statement ist notwendig, damit die shell dies nicht als Bestandteil eines History-Kommandos interpretiert.<br />

Das zeilenweise Einlesen einer Datei kann unter <strong>de</strong>r bash einfacher gelöst wer<strong>de</strong>n.<br />

6.6.4. Die shift - Anweisung<br />

shift<br />

shift varname<br />

wirkt auf die Argumentenliste argv<br />

wirkt auf die Variable varname<br />

shift verschiebt die Argumente einer wordlist nach links. Das ganz links stehen<strong>de</strong> Argument fällt aus <strong>de</strong>r<br />

wordlist (Argumentenliste) heraus.<br />

#!/bin/csh<br />

#<br />

# Datei: shift.csh<br />

# Beispiel fuer shift-Statement<br />

#<br />

set line = $<<br />

set input = ( $line )<br />

foreach element<br />

end<br />

echo $input<br />

shift input<br />

($input)<br />

6.6.5. Fallunterscheidung mit switch und case<br />

switch ( string )<br />

case pattern1:<br />

command(s)<br />

breaksw<br />

case pattern2:<br />

command(s)<br />

breaksw<br />

...<br />

...<br />

<strong>de</strong>fault:<br />

command(s)<br />

breaksw<br />

endsw<br />

Es wird nach einer Übereinstimmung <strong>von</strong> string und pattern gesucht und die dort befindlichen Kommandos<br />

ausgeführt. Wird keine Übereinstimmung gefun<strong>de</strong>n, so wer<strong>de</strong>n die Kommandos unter <strong>de</strong>fault<br />

abgearbeitet. Im pattern-string können die pattern-matching character *, ? und [ ] verwen<strong>de</strong>t wer<strong>de</strong>n.<br />

#!/bin/csh<br />

#<br />

# Datei: case.csh<br />

# Beispiel fuer case

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!