09.04.2014 Aufrufe

Linux Essentials//Die Einsteiger-Zertifizierung des LPI - Linup Front ...

Linux Essentials//Die Einsteiger-Zertifizierung des LPI - Linup Front ...

Linux Essentials//Die Einsteiger-Zertifizierung des LPI - Linup Front ...

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.

9.6 <strong>Die</strong> Shell als Programmiersprache 137<br />

Parameter von der Kommandozeile <strong>Die</strong> Parameter von der Kommandozeile eines<br />

Shellskript-Aufrufs stellt die Shell in den Variablen $1, $2, …zur Verfügung. Einzelne Parameter<br />

Betrachten Sie das folgende Beispiel:<br />

$ cat hallo<br />

#!/bin/bash<br />

echo Hallo $1, was machst Du $2?<br />

$ ./hallo Hugo heute<br />

Hallo Hugo, was machst Du heute?<br />

$ ./hallo Susi morgen<br />

Hallo Susi, was machst Du morgen?<br />

<strong>Die</strong> Variable $* enthält alle Parameter auf einmal, und in $# steht die Anzahl der Alle Parameter<br />

Parameter:<br />

$ cat parameter<br />

#!/bin/bash<br />

echo $# Parameter: $*<br />

$ ./parameter<br />

0 Parameter:<br />

$ ./parameter Hund<br />

1 Parameter: Hund<br />

$ ./parameter Hund Katze Maus Baum<br />

4 Parameter: Hund Katze Maus Baum<br />

Schleifen Mit dem Kommando for können Sie Schleifen konstruieren, die über<br />

eine Liste von (durch Freiplatz getrennten) Wörtern laufen:<br />

$ for i in 1 2 3<br />

> do<br />

> echo Und $i!<br />

> done<br />

Und 1!<br />

Und 2!<br />

Und 3!<br />

Hierbei nimmt die Variable i nacheinander jeden der aufgelisteten Werte an. Je<strong>des</strong>mal<br />

werden die Kommandos zwischen do und done ausgeführt.<br />

Das Ganze macht mehr Spaß, wenn die Wörter aus einer Variablen kommen:<br />

$ liste='4 5 6'<br />

$ for i in $liste<br />

> do<br />

> echo Und $i!<br />

> done<br />

Und 4!<br />

Und 5!<br />

Und 6!<br />

Wenn Sie das »in …« weglassen, läuft die Schleife über die Parameter von der Schleife über Parameter<br />

Kommandozeile:<br />

$ cat sort-wc<br />

#!/bin/bash<br />

# Sortiere Dateien nach ihrer Zeilenzahl<br />

for f<br />

do<br />

echo `wc -l

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!