Gostaria de saber por que há um erro ao usar um comando assíncrono dentro de um loop?
$ for i in {1..8}; do sleep 100 & ; done
bash: syntax error near unexpected token `;'
Se eu escrever como
$ for i in {1..8}; do
> sleep 100 &
> done
isso funciona bem.
Como escrever em uma linha sem erros?
echo foo ; ; echo bar
na festança 4.4 dizsyntax error near unexpected token `;'
.dash
dá um erro semelhante. Nesse caso, é um comando vazio porque nenhuma outra parte da gramática o consome. Eu acho que eles podem estar falando de redundância;
no final de uma linha comosleep 100;
(nova linha).Agrupe suas
do
ações entre colchetes:Fácil de entender para você e para o Bash!
fonte