Script shell - valider la nature d'un nombre
Résolu
charline159
Messages postés
216
Statut
Membre
-
charline159 Messages postés 216 Statut Membre -
charline159 Messages postés 216 Statut Membre -
Bonjour! J'ai un petit soucis sur un script shell:
Si je tape mon script avec une lettre en paramètre, ça plante.
Comment faire pour que la condition admette qu'il faut nécessairement un chiffre/un nombre en paramètre, et non des lettres?
Merci pour votre aide!
#!/bin/bash
if [ $# -ne 1 ]
then
echo "Veuillez rentrer un chiffre ou nombre en paramètre!"
elif [ $1 -eq 10 ]
then
echo "parfait!"
elif [ $1 -gt 10 ]
then
echo "c'est trop!"
else
echo "ce n'est pas assez!"
fi
Si je tape mon script avec une lettre en paramètre, ça plante.
Comment faire pour que la condition admette qu'il faut nécessairement un chiffre/un nombre en paramètre, et non des lettres?
Merci pour votre aide!
A voir également:
- Opérateur unaire attendu
- Classic shell - Télécharger - Personnalisation
- Script vidéo youtube - Guide
- Nombre de jours entre deux dates excel - Guide
- Nombre facile - Télécharger - Outils professionnels
- Mas script - Accueil - Windows
merci pour ton aide!
J'ai rajouté la ligne au début, à la première condition:
Mais quand je lance le script, il indique soit "opérateur unaire attendu" soit "nombre entier attendu comme expression"!
Essaies encore ;)
:)
Il faut déclarer la variable "$reg" au préalable et cette forme de comparaison n'est valable qu'avec l'utilisation des doubles crochets ;-\
reg='^[0-9]+$'
if ! [[ $yournumber =~ $reg ]] ; then
echo "error: Not a number"
fi