Je me demande pourquoi il y a une erreur lors de l'utilisation d'une commande asynchrone dans une boucle?
$ for i in {1..8}; do sleep 100 & ; done
bash: syntax error near unexpected token `;'
Si je l'écris comme
$ for i in {1..8}; do
> sleep 100 &
> done
cela fonctionne bien.
Comment l'écrire sur une seule ligne sans erreur?
echo foo ; ; echo bar
dans bash 4.4 ditsyntax error near unexpected token `;'
.dash
donne une erreur similaire. Dans ce cas, il s'agit d'une commande vide car aucune autre partie de la grammaire ne la consomme. Je pense qu'ils pourraient parler de redondance;
à la fin d'une ligne commesleep 100;
(newline).Regroupez vos
do
actions entre accolades:Facile à comprendre pour vous comme pour Bash!
la source