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