Je n'ai jamais fait de script shell avant et maintenant je suis confronté à un problème simple ... J'ai une boucle for qui s'exécute chaque fois que le script run.sh. Pour voir jusqu'où le script a déjà été exécuté, je veux imprimer par ex. tous les 5000 l'indice réel.pour la boucle/si la condition dans le script shell
$counter = 0
for (( i = 0 ; i <= 5000; i++ ))do
if ($i = $counter); then
echo "$counter"
counter=$(counter+1000)
fi
./run.sh
done
l'exécution de ce morceau de code me donne l'erreur suivante
./for_loop.sh: line 1: =: command not found
./for_loop.sh: line 3: 0: command not found
J'ai aussi essayé d'initialiser le compteur variable
declare -i counter = 0
qui me donne l'erreur suivante
./for_loop.sh: line 1: declare: `=': not a valid identifier
Alors, comment pouvons-nous aider? – Kami
Dans Bash, il y a deux opérateurs d'affectation, '=' et 'let =', donc vous pouvez assigner le premier compteur avec 'counter = 0' ou' let counter = 0'. 'let' est destiné à être utilisé uniquement avec des nombres alors que' = 'fonctionne avec n'importe quelle chaîne. –