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)
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