Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 23/05/2010, à 14: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 big_smile
la réponse est:

[[ "$Variable" =~ ^[0-9]{4,4}$ ]]

Dernière modification par wido (Le 23/05/2010, à 14:42)

Hors ligne

#2 Le 23/05/2010, à 20: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, à 03: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, à 14:16

johndo

Re : [Bash] test chiffre 0001 [résolu]

sputnick a écrit :
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