Bash boucle incrémentale for

Fermé
tlep Messages postés 596 Date d'inscription jeudi 21 février 2002 Statut Membre Dernière intervention 25 octobre 2012 - 19 juin 2009 à 11:57
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 23 juin 2009 à 11:28
Bonjour,

je vous soumets un comportement que je ne comprends pas dans une boucle for.

#!/bin/bash

for i in $(seq 1 10);do
echo "$i/10"
read reponse
if [ "$(echo $reponse|egrep "^:digit:$")" = "" ];then reponse=0;fi
i=$(($i-$reponse))
done

Bref je veux pouvoir changer de manière interractive l'incrémentation $i (i=$(($i-$reponse))).

Cependant, $i s'incrémente quelle que soit la valeur de $reponse.

Avez-vous une idée ?

Merci

;)

2 réponses

tlep Messages postés 596 Date d'inscription jeudi 21 février 2002 Statut Membre Dernière intervention 25 octobre 2012 118
19 juin 2009 à 15:49
Pardon je voulais dire: $i ne se décrémente pas. ;)
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
23 juin 2009 à 11:28
Salut,

Je ne pense pas que ce soit possible en utilisant la commande "seq".
Par contre en déclarant une variable "i=1;while [ "$i" -lt "10" ]; do..." et en l'incrémentant au fur et à mesure, là oui ça doit être possible.
0