Linux-Workshop

Shell Scripting - Tipps und Tricks für Admins

Schleifen

Befehle können in Schleifen verpackt werden und so wiederholt zur Ausführung gebracht werden.

Ein einfaches Beispiel dafür:

> while true; do date; sleep 1; done

> until false; do date; sleep 1; done

Diese Zeilen schreiben jede Sekunde die Ausgabe von "date" auf stdout.

Weitere Beispiele:

> for i in 1 2 3; do echo "$i: `date`"; done

> for i in `seq 10`; do echo $i; done

> for arch in *.gz; do gzip -v $arch; done

Die Shell-Variable IFS (Internal Field Separator) kann durch umsetzen genutzt werden, um Felder durch andere Trennzeichen zu separieren.

ifs_script:

for ff in $(date); do echo $ff; done

set -- $(date)

OLDIFS=$IFS; IFS=:

for ff in $4; do echo $ff; done

IFS=$OLDIFS

> bash ifs_script

Wed

Dec

8

11:01:34 <= enspricht $4

CET

2010

11

01

34

job.sh:

#!/bin/bash

myjob()

{

echo $1

..

}

for arg; do

myjob $arg

done

> job.sh test haus ball