Test avec boucle "until"
Résolu/Fermé
jivef
Messages postés
927
Date d'inscription
mercredi 11 août 2004
Statut
Membre
Dernière intervention
12 novembre 2020
-
Modifié par jivef le 1/07/2010 à 04:56
jivef Messages postés 927 Date d'inscription mercredi 11 août 2004 Statut Membre Dernière intervention 12 novembre 2020 - 1 juil. 2010 à 20:25
jivef Messages postés 927 Date d'inscription mercredi 11 août 2004 Statut Membre Dernière intervention 12 novembre 2020 - 1 juil. 2010 à 20:25
A voir également:
- Test avec boucle "until"
- Test performance pc - Guide
- Test composant pc - Guide
- Redmi note 13 5g test - Accueil - Téléphones
- Test performance pc gratuit - Accueil - Utilitaires
- Test hdd - Télécharger - Informations & Diagnostic
2 réponses
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
1 juil. 2010 à 07:38
1 juil. 2010 à 07:38
Salut,
Pas trop le temps de m'y pencher là (mais ceci dit, j'ai toujours préféré une boucle "while" à une boucle "until" ;-( ), mais si c'est un copier/coller de ton script original, il manque un espace avant le crochet fermant à :
;-((
Pas trop le temps de m'y pencher là (mais ceci dit, j'ai toujours préféré une boucle "while" à une boucle "until" ;-( ), mais si c'est un copier/coller de ton script original, il manque un espace avant le crochet fermant à :
if [ -z $PUBIP]
;-((
jivef
Messages postés
927
Date d'inscription
mercredi 11 août 2004
Statut
Membre
Dernière intervention
12 novembre 2020
306
1 juil. 2010 à 20:25
1 juil. 2010 à 20:25
Merci pour le truc.
En effet, j'ai déjà vu ça dans des bouquins. (pour quoter les variables.)
C'est bien compris, je vais rectifier.
Tu vois, je progresse !
Je ne suis pas encore aussi calé que toi, mais j'avance.
A bientôt.
Jonas.
En effet, j'ai déjà vu ça dans des bouquins. (pour quoter les variables.)
C'est bien compris, je vais rectifier.
Tu vois, je progresse !
Je ne suis pas encore aussi calé que toi, mais j'avance.
A bientôt.
Jonas.
Modifié par jivef le 1/07/2010 à 09:18
bien vu pour l'espace, mais en fait, c'est bien le test du dessus qui foire.
En fait, il y a deux tests reliés par un OU logique (le -o)
Et c'est là qu'il y a un problème car chaque test pris séparément fonctionne, mais j'ai besoin de les cumuler pour que la même boucle soit capable de traiter les deux conditions.
Pour traiter une condition, pas de problème, même avec while au lieu de until.
ENDCOUNT=5
COUNT=0
PUBIP=""
mobitux:/home/jonas# while [ $COUNT -lt $ENDCOUNT ]; do echo $COUNT; let COUNT=$COUNT+1; done
0
1
2
3
4
idem avec until :
mobitux:/home/jonas# until [ $COUNT -eq $ENDCOUNT ]; do echo $COUNT; let COUNT=$COUNT+1;done
0
1
2
3
4
Mais dès que j'ai deux conditions, ça foire un petit peu.
En tout merci pour ta réponse.
Je vais tout de même refaire un essai.
A plus tard.
Modifié par jivef le 1/07/2010 à 09:33
mobitux:/home/jonas# PUBIP=""
mobitux:/home/jonas# COUNT=0
mobitux:/home/jonas# until [ $COUNT -eq $ENDCOUNT -o -n $PUBIP ]; do echo $COUNT; let COUNT=$COUNT+1;done
Le temps que je fasse CTRL-C j'en étais à
21207
bash: [: argument expected
21208
bash: [: argument expected
21209
bash: [: argument expected
21210
Par contre, si je met quelque chose dans PUBIP, le résultat n'est plus le même :
mobitux:/home/jonas# PUBIP=0
mobitux:/home/jonas# COUNT=0
mobitux:/home/jonas# until [ $COUNT -eq $ENDCOUNT -o -n $PUBIP ]; do echo $COUNT; let COUNT=$COUNT+1;done
mobitux:/home/jonas#
Le script s'arrête aussitôt car une des deux condition est réunie.
(avec un OU Logique)
Jipicy, j'avais besoin d'en parler à quelqu'un, même si tu ne m'écoutais pas...
En tout cas j'ai trouvé...
La prochaine fois, plutôt que de perdre du temps, je ferai un algorythme.
mobitux:/home/jonas# until [ $COUNT -eq $ENDCOUNT -o -z $PUBIP ]; do echo $COUNT; let COUNT=$COUNT+1;done
0
1
2
3
4
mobitux:/home/jonas#
Là, ça a marché.
Je savais bien que c'était le test qui n'était pas bon, la preuve.
A bientôt.
Je vais passer en résolu.
1 juil. 2010 à 09:37
Happy for you et merci du retour ;-)
1 juil. 2010 à 10:09
Avec de simples crochets il est préférable de quoter les variables ;-\
;-))