Hi,
Am Samstag, 10. Dezember 2005 01:18 schrieb Werner Holtfreter:
> zur Beschleunigung meines Backupscripts möchte ich zwei Prüfsummen
> gleichzeitig errechnen lassen. Da die Dateien auf verschiedenen
> Festplatten liegen, dürfte das schneller gehen, als nacheinander:
>
> qsum=$(cksum $quelle) &
PID=$!
> zsum=$(cksum $ziel)
>
wait $PID
> if [ qsum = zsum ]; then
> echo "OK"
> else
> echo "FEHLER"
> fi
> Doch wie kann ich erreichen, dass der Test in "if" erst ausgeführt
> wird, wenn sowohl qsum als auch zsum fertig berechnet sind?
Von einem mit & gestarteter Prozess kann man auf der Shell in der Variablen $!
die Prozessnummer erfahren.
Mit wait kann man auf einen Prozess warten bis er nicht mehr läuft.
Siehe auch "man bash".
> Reicht schon ein Klammern?:
> ( qsum=$(cksum $quelle) & zsum=$(cksum $ziel) )
Nein.
> Wird auch parallel gerechnet, wenn ich alles in den Test-Befehl
> schreibe?:
> if [ $(cksum $quelle) = $(cksum $ziel) ]; then
Hm, das weiß ich nicht.
--
Gruß
\|/
eMHa (o o)
------------------------------------------------------oOO--U--OOo--
Markus Hochholdinger
e-mail mailto:Markus@Hochholdinger.net .oooO
www http://www.hochholdinger.net ( ) Oooo.
------------------------------------------------------\ (----( )-
\_) ) /
(_/
- application/pgp-signature Anhang: stored
Received on Sat Dec 10 03:16:47 2005