Eu "herdei" alguns scripts de shell para máquinas Linux executando o shell "bash" do GNU. Em um caso específico, a máquina executa o GNU bash versão 2.0.5b
Um desses scripts possui uma wait &
instrução ("e comercial de espera") como parte da linha "for" de um for
loop. À primeira vista, isso parece ser um idioma curioso / interessante, mas minha pesquisa na web não retornou nada relevante. man wait
mostra a página do manual "BASH_BUILTINS" ("BASH BUILTINS COMMAND"), que possui a seguinte descrição:
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.
Ao ler essa parte desta página de manual, parece-me wait &
silenciosamente (em segundo plano) garantir que " todos os processos filhos ativos no momento sejam aguardados e o status de retorno seja zero ". Estou certo nessa interpretação? Esse é um idioma comum e / ou útil?
Para um contexto adicional, estou falando sobre o seguinte tipo de uso no script:
for file in `ls *.txt ; wait &`
do
...
[cp instructions]
...
[mv instructions]
...
[mailx instruction]
done
fonte