#1 Le 23/05/2010, à 13:41
- wido
[Bash] test chiffre 0001 [résolu]
Bonjour,
je cherche une façon de faire pour tester une variable comprise entre 0000 et 9999 j'ai fait ceci mais ça ne fonctionne pas:
[[ "$Variable" =~ ^[0-9]{1,4}$ ]]
EDIT: je viens de trouver
la réponse est:
[[ "$Variable" =~ ^[0-9]{4,4}$ ]]
Dernière modification par wido (Le 23/05/2010, à 13:42)
Hors ligne
#2 Le 23/05/2010, à 19:00
- Mr_Djez
Re : [Bash] test chiffre 0001 [résolu]
Salut,
Heuu [[ $Variable =~ ^[0-9]{4}$ ]] et ça ?? non ?
Hors ligne
#3 Le 24/05/2010, à 02:23
- sputnick
Re : [Bash] test chiffre 0001 [résolu]
x=0001
if ((10#$x <= 9999 && 10#$x > 0)); then echo "entre 0001 et 9999"; fi
On ne peut pas mettre d'array dans un string!
https://sputnick.fr/
Hors ligne
#4 Le 24/05/2010, à 13:16
- johndo
Re : [Bash] test chiffre 0001 [résolu]
x=0001 if ((10#$x <= 9999 && 10#$x > 0)); then echo "entre 0001 et 9999"; fi
Si j'ai bien compris la demande, cette solution ne convient pas tout à fait car cela revient à l'objet de sa question ([[ "$Variable" =~ ^[0-9]{1,4}$ ]]). A savoir que cela ne permet pas de déterminer s'il y des 0 non significatifs (ex. la valeur 30 sera considérée comme bonne alors qu'elle ne devrait pas. 0030 le sera).
Enfin, je propose une autre solution, sans (E)RE :
[[ $variable = [0-9][0-9][0-9][0-9] ]] && echo "Valeur ok"
Hors ligne