Я "успадкував" декілька скриптів оболонки для машин Linux, на яких працює оболонка GNU "bash". В одному конкретному випадку машина працює з GNU bash версії 2.0.5b
Один із цих сценаріїв має wait &
інструкцію ("wait ampersand") як частину for
циклу "для рядка" . На перший погляд, це здається цікавою / цікавою ідіомою, але мої пошуки в Інтернеті не повернули нічого релевантного. man wait
показує сторінку "BASH_BUILTINS" ("BASH BUILTINS COMMAND"), яка має такий опис:
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.
Читаючи цю частину цієї сторінки, мені здається, що wait &
тихо (на задньому плані) переконуючись, що « всі очікувані в даний час дочірні процеси чекають, а статус повернення дорівнює нулю ». Я прав у цьому тлумаченні? Це загальна та / або корисна ідіома?
Для додаткового контексту я говорю про такий тип використання в сценарії:
for file in `ls *.txt ; wait &`
do
...
[cp instructions]
...
[mv instructions]
...
[mailx instruction]
done