Bash: comparaison
Fermé
gardiendelanuit
Messages postés
1770
Date d'inscription
jeudi 20 décembre 2007
Statut
Membre
Dernière intervention
19 novembre 2016
-
28 déc. 2011 à 22:09
gardiendelanuit Messages postés 1770 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 19 novembre 2016 - 28 déc. 2011 à 23:15
gardiendelanuit Messages postés 1770 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 19 novembre 2016 - 28 déc. 2011 à 23:15
A voir également:
- Bash: comparaison
- Bingo bash free - Télécharger - Divers Jeux
- Retour à la ligne bash ✓ - Forum Shell
- Bash écrire dans un fichier - Forum Shell
- Bash addition ✓ - Forum Shell
- [Bash]Impossible de faire une simple addition - Forum Shell
6 réponses
gardiendelanuit
Messages postés
1770
Date d'inscription
jeudi 20 décembre 2007
Statut
Membre
Dernière intervention
19 novembre 2016
264
28 déc. 2011 à 22:10
28 déc. 2011 à 22:10
PS: j'obtiens un [: g: integer expression expected ou encore le unary operator expected ...
flav1313
Messages postés
751
Date d'inscription
mardi 24 août 2010
Statut
Membre
Dernière intervention
22 octobre 2012
100
28 déc. 2011 à 22:11
28 déc. 2011 à 22:11
if élémentTapéAuClavier != [0-9]
action
else action
Nan?
action
else action
Nan?
flav1313
Messages postés
751
Date d'inscription
mardi 24 août 2010
Statut
Membre
Dernière intervention
22 octobre 2012
100
28 déc. 2011 à 22:14
28 déc. 2011 à 22:14
enfin remplacer [0-9] par [0-1]
gardiendelanuit
Messages postés
1770
Date d'inscription
jeudi 20 décembre 2007
Statut
Membre
Dernière intervention
19 novembre 2016
264
28 déc. 2011 à 22:15
28 déc. 2011 à 22:15
Merci de ta réponse.
J'avais fait un truc de ce genre mais peut-être pas tourné de cette maniere, je vais voir.. :)
J'avais fait un truc de ce genre mais peut-être pas tourné de cette maniere, je vais voir.. :)
flav1313
Messages postés
751
Date d'inscription
mardi 24 août 2010
Statut
Membre
Dernière intervention
22 octobre 2012
100
28 déc. 2011 à 22:18
28 déc. 2011 à 22:18
Si tu veux que l'utilisateur ne rentre que 0 ou 1, utilise cette méthode =). Ou sinon
If élément -eq 1
else
if élément -eq 0
else
If élément -eq 1
else
if élément -eq 0
else
gardiendelanuit
Messages postés
1770
Date d'inscription
jeudi 20 décembre 2007
Statut
Membre
Dernière intervention
19 novembre 2016
264
28 déc. 2011 à 22:23
28 déc. 2011 à 22:23
redirection='0' echo -e "Tapez ${rougefonce}0${neutre} pour entrer un lien ou ${jaune}1${neutre} pour traiter les liens du fichier \"link\"" read redirection while [ $redirection =! "[0-1]" ] #Vérification si le choix est correct do echo -e "Entrez ${rougefonce}0${neutre} ou ${jaune}1${neutre}!" read redirection done
Toujours le même problème : /
Même avec =! '[0-1]' si on tape une lettre ca ne marche pas
flav1313
Messages postés
751
Date d'inscription
mardi 24 août 2010
Statut
Membre
Dernière intervention
22 octobre 2012
100
Modifié par flav1313 le 28/12/2011 à 22:27
Modifié par flav1313 le 28/12/2011 à 22:27
essaye avec :
redirection=0 echo -e "Tapez ${rougefonce}0${neutre} pour entrer un lien ou ${jaune}1${neutre} pour traiter les liens du fichier \"link\"" read redirection while [ $redirection =! [0-1] ] #Vérification si le choix est correct do echo -e "Entrez ${rougefonce}0${neutre} ou ${jaune}1${neutre}!" read redirection done
gardiendelanuit
Messages postés
1770
Date d'inscription
jeudi 20 décembre 2007
Statut
Membre
Dernière intervention
19 novembre 2016
264
28 déc. 2011 à 22:28
28 déc. 2011 à 22:28
./BASHv10.0.sh: line 19: [: =!: binary operator expected
: / avec une lettre ou un chiffre pareil
: / avec une lettre ou un chiffre pareil
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 419
28 déc. 2011 à 22:29
28 déc. 2011 à 22:29
Salut,
Voir dans la FAQ : Shell - Tester une variable numérique
;-))
Voir dans la FAQ : Shell - Tester une variable numérique
;-))
gardiendelanuit
Messages postés
1770
Date d'inscription
jeudi 20 décembre 2007
Statut
Membre
Dernière intervention
19 novembre 2016
264
28 déc. 2011 à 22:40
28 déc. 2011 à 22:40
Je vois ce que ces bouts de code font mais je ne sais pas comment m'en servir pour les mettres dans un while...
gardiendelanuit
Messages postés
1770
Date d'inscription
jeudi 20 décembre 2007
Statut
Membre
Dernière intervention
19 novembre 2016
264
28 déc. 2011 à 23:00
28 déc. 2011 à 23:00
Parce que je vérifie si la variable est de type numérique dans ce cas je vérifie si elle est égale à 0 ou 1 ... et sinon? je reboucle??? ça serait infinie...
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 419
28 déc. 2011 à 23:08
28 déc. 2011 à 23:08
$ cat foo.sh #! /bin/bash #set -xv while true do read -p "Tapez 0 ou 1 : " reponse if [[ ${reponse} != [01] ]] then echo "Pas bon." continue else echo "C'est bon." break fi done $ ./foo.sh Tapez 0 ou 1 : a Pas bon. Tapez 0 ou 1 : l Pas bon. Tapez 0 ou 1 : 5 Pas bon. Tapez 0 ou 1 : B Pas bon. Tapez 0 ou 1 : 1 C'est bon. $
gardiendelanuit
Messages postés
1770
Date d'inscription
jeudi 20 décembre 2007
Statut
Membre
Dernière intervention
19 novembre 2016
264
28 déc. 2011 à 23:15
28 déc. 2011 à 23:15
Ouch d'accord merci.. j'aurais pas trouvé je pense.
Je verrais ça demain je vous tiens au courant.
Merci encore.
Je verrais ça demain je vous tiens au courant.
Merci encore.