Ho "ereditato" alcuni script di shell per macchine Linux che eseguono la shell "bash" GNU. In un caso particolare, la macchina esegue GNU bash versione 2.0.5b
Uno di questi script ha wait &
un'istruzione ("wait ampersand") come parte del "for line" di un for
loop. A prima vista, sembra un linguaggio curioso / interessante, ma la mia ricerca sul web non ha restituito nulla di rilevante. man wait
mostra la manpage "BASH_BUILTINS" ("BASH BUILTINS COMMAND"), che ha la seguente descrizione:
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.
Leggendo quella parte di questa pagina man, mi sembra che in wait &
silenzio (in background) si assicuri che " tutti i processi figlio attualmente attivi sono attesi e lo stato di ritorno è zero ". Ho ragione in questa interpretazione? È un linguaggio comune e / o utile?
Per un contesto aggiuntivo, sto parlando del seguente tipo di utilizzo nello script:
for file in `ls *.txt ; wait &`
do
...
[cp instructions]
...
[mv instructions]
...
[mailx instruction]
done