Ich habe einige Shell-Skripte für Linux-Computer "geerbt", auf denen die GNU-Shell "bash" ausgeführt wird. In einem bestimmten Fall führt der Computer die GNU-Bash-Version 2.0.5b aus
Eines dieser Skripte enthält eine wait &
Anweisung ("kaufmännisches Und") als Teil der "for-Zeile" einer for
Schleife. Auf den ersten Blick scheint das eine merkwürdige / interessante Redewendung zu sein, aber meine Websuche danach hat nichts Relevantes ergeben. man wait
zeigt die Manpage "BASH_BUILTINS" ("BASH BUILTINS COMMAND") mit der folgenden Beschreibung:
wait [n]
Wait for the specified process and return its termination status.
n may be a process ID or a job specification; if a job spec is given,
all processes in that job's pipeline are waited for. If n is not
given, all currently active child processes are waited for, and the
return status is zero. If n specifies a non-existent process or job,
the return status is 127. Otherwise, the return status is the exit
status of the last process or job waited for.
Wenn ich diesen Teil dieser Manpage lese, scheint es mir wait &
stillschweigend (im Hintergrund), sicherzustellen, dass "auf alle derzeit aktiven untergeordneten Prozesse gewartet wird und der Rückgabestatus Null ist ". Habe ich recht mit dieser Interpretation? Ist dies eine verbreitete und / oder nützliche Redewendung?
Für zusätzlichen Kontext spreche ich über die folgende Art der Verwendung im Skript:
for file in `ls *.txt ; wait &`
do
...
[cp instructions]
...
[mv instructions]
...
[mailx instruction]
done
quelle