Prenons un simple for loop
#!/bin/bash
for i in `seq 1 10`;
do
echo $i
done
Le point-virgule AFAIK dans les scripts bash permet au shell d'exécuter la commande actuelle de manière synchrone, puis de passer à la suivante. Appuyer sur Entrée fait littéralement la même chose sauf qu'il ne vous permet pas d'entrer la commande suivante, vidant immédiatement le tampon.
Alors pourquoi le shell ne peut pas interpréter la ligne suivante
for i in `seq 1 10`; do; echo $i; done
comment cela fonctionne-t-il for loop
réellement?
do
.do
. De plus, cette réponse explique pourquoi vous devez supprimer le point-virgule après «faire».$i
doit faire partie d'un nom de fichier? A-t-il besoin de guillemets doubles?Le point-virgule après
do
est une erreur et ne devrait pas être là.Les éléments suivants fonctionnent correctement:
la source