expression regulière en bash
Bonjour j'essaye d'écrire un script qui vérifie que le paramètre entré au clavier est bien un nombre voici le code
Code:
1 2 3 4 5 6 7 8 9 10
| #! /bin/bash
echo "Entrez un nombre: \c"
read nombre
if [[ $nombre = ?([-+])+([0-9]) ]]
then
echo " $nombre est bien un nombre"
exit 0
fi
echo " $nombre n'est pas un nombre"
exit 1 |
j'ai activé l'option mais à chaque fois que je rentre un paramètre j'ai l'erreur
Code:
1 2 3
| /home/picol/premier: line 19: Erreur de syntaxe dans une expression conditionnelle : symbole « ( » inattendu
/home/picol/premier: line 19: Erreur de syntaxe près de « ?([ »
/home/picol/premier: line 19: ` if [[ $nombre = ?([-+])+([0-9]) ]] ' |
je ne comprend pas pourquoi ce bout de code
Code:
if [[ $nombre = ?([-+])+([0-9]) ]]
produit une erreur.