Não consigo imaginar nenhum motivo para escrever esse código, e não sei ao certo o que a pessoa que escreveu esse código estava tentando alcançar. wait
aqui não faz nada - a partir de sua perspectiva, não há nenhum processo filho, então ele irá simplesmente sair imediatamente e basicamente agir como noop ( wait
se executa em um processo filho devido ao comando substituição, mas isso não é relacionado).
Como um aparte, analisar a saída de ls é bastante frágil . Em vez disso, considere apenas fazer isso:
for file in *.txt; do
...
done