Reihenfolge der Ausführung von Anweisungen in einer Skript-Shell

Reihenfolge der Ausführung von Anweisungen in einer Skript-Shell

Hier ist ein Teil meines Skripts test.sh:

#!/bin/bash

tar -cf $name.tar $name && pbzip2 $name.tar
echo "[$1: Waiting..]

Bitte, ich habe eine Frage. Die Ausführung des zweiten Befehls „echo“ erfolgt direkt nach der Erstellung der Datei .tar.bz2? Soweit ich sehe, nein. Ich sehe, dass ich nur das Tar-Verzeichnis habe und der Befehl „echo“ gestartet wird!

Irgendeine Erklärung bitte? Vielen Dank.

Antwort1

Der echoBefehl wird nicht ausgeführt, solange dervorheriger Pack- und Komprimierungsbefehl wurde nicht ausgeführt.

Das bedeutet, dass keine Ausgabe erfolgt, bis die Datei gepackt und komprimiert ist. Wenn Sie eine Ausgabe wünschen, die anzeigt, wann die Datei beginnt und wann sie fertig ist, verwenden Sie:

#!/bin/bash

echo "[$1: Packing]"
tar -cf $name.tar $name && pbzip2 $name.tar
echo "[$1: Done]"

verwandte Informationen