- ( list )
list ist ein simple command, eine pipeline oder Sequenz und bildet durch die Klammerung ein logisches simple command.
Geklammerte Ausdrücke wie list werden immer in einer Sub-Shell ausgeführt (die Environment-Varibalen der
das script ausführenden shell werden nicht verändert, da die Sub-Shell eine Kopie der Variablen erhällt und mit dieser
Kopie arbeitet).
Zurügeliefert wird der Exit-Status des zuletzt ausgeführten simple commands.
- { list; }
Gruppenbildung von commands
Zurückgeliefert wird der Exit-Status des zuletzt ausgeführten simple commands
- for name [ in wordlist ] ; do list ; done (bash)
foreach name ( wordlist ) list end (csh, tsh, ...)
wordlist ist eine leerzeichengetrennte Liste von Wörtern, die sequenziel der Variablen name zugewiesen werden. Jedesmal
wird dann list ausgeführt.
for text in 1 2 hallo; do | foreach
echo $text | text (1 2 hallo) echo $text;
done | end
- case word in [ [(] pattern [ | pattern ] ... ) list ;; ] ... esac (bash)
switch (word) [ case pattern: list breaksw ] ... [ default: list breaksw ] endsw (csh, tsh, ...)
case $var in | switch ($var)
a*) echo case_1 ;; | case a*: echo case_1; breaksw
[a-d]?) echo case_2 ;; | case [a-d?) echo case_2; breaksw
[*]) echo default_case ;; | default: echo default_case; breaksw
esac | endsw
- if list; then list; [ elif list; then list; ] ... [ else list; ] fi (bash)
if (expr) list simple_command bzw.
if (expr) then ... else if (expr2) then ... [else ...] endif (csh, tsh, ...)
if head -1 datei | grep hallo; then
echo "found hallo in first line of datei"
else
echo "not found hallo in first line of datei"
fi
- while list; do list; done (bash)
while (expr) list; end (csh, tsh, ...)
while read x; do
echo $x
done
- until list; do list; done (bash)