comme je l'ai expliqué dans le titre, j'ai besoin de mettre fin à l'exec. de mon script si la valeur d'entrée n'est pas un nombre entier. Im obtenir le nombre d'un paramètre positionnel. Voici le code:Comment terminer mon script si je n'obtiens pas une valeur entière attendue? - BASH Shell Script
a=9
kb=0
var=$2
var=${var:3:1}
if [ ${#2} -ne 4 ]
then
echo "ethN is wrong"
exit 1
fi
if [ "$var" -gt 10 -o "$var" -lt 0 ]
then
echo "N is wrong"
exit 1
else
echo "N is ok"
fi
quand j'utiliser cette entrée:
bash lartc.sh -i eth #
ne termine mon scénario et je le veux parce que la "#" de eth # n'est pas un nombre entier et c'est ce que je veux qu'il fasse. (par exemple, une entrée valide: eth2, eth3, etc ...). Cependant, mon terminal me dit que "#" était censé être un int. Je valide la longueur et que le nombre doit être entre 0-9, j'ai juste besoin de valider le type de celui-ci. Des idées? Je vous remercie!
Merci à tous pour me aider, j'étais un peu occupé avec l'université, c'est pourquoi je répondre maintenant, mais je ne l'utilise vos suggestions! Celui-ci a très bien fonctionné pour moi. (J'ai aussi testé celui que l'utilisateur Quinn a dit et ça a marché aussi) Merci à tous, on garde rockin! lml –