Script de vérification des nombres saisies

  • L'utilisateur saisit un nombre,
    le script retourne si celui-ci est positif ou négatif et décimal ou entier.
mathtest.sh
#!/bin/bash
 
# COLOURS VARIABLES
red="\033[1;31m"
green="\033[1;32m"
blue="\033[1;34m"
end="\033[0m"
 
# INTRO SCRIPT
echo " ";
echo "*******************************" ;
echo "*      TESTEUR NOMBRE         *" ; 
echo "*******************************" ;
echo " ";
 
# ACTIVER LES OPTIONS DE TEST
shopt -s extglob
 
# COMMANDE SANS ARGUMENT
if [[ $# != 1 ]]; then
	echo "Veuillez saisir le nombre à tester :" ;
	read nombre ;
 
	# ENTIER POSITIF
	[[ $nombre = +(+)+([0-9]) ]] && echo -e "Nombre valide : "$green"ENTIER POSITIF"$end"\n" && exit 0 ;
 
	# ENTIER NEGATIF
	[[ $nombre = +(-)+([0-9]) ]] && echo -e "Nombre valide : "$blue"ENTIER NEGATIF"$end"\n" && exit 0 ;
 
	# DECIMAL POSITIF
	[[ $nombre = +(+)+([0-9])@([.|,])+([0-9]) ]] && echo -e "Nombre valide : "$green"DECIMAL POSITIF"$end"\n" && exit 0 ;
 
	# DECIMAL NEGATIF
	[[ $nombre = +(-)+([0-9])@([.|,])+([0-9]) ]] && echo -e "Nombre valide : "$blue"DECIAML NEGATIF"$end"\n" && exit 0 ;
 
	# GESTION ERREUR
	[[ $nombre != +([+-])+([0-9])* ]] && echo -e ""$red"Nombre INCORRECT"$end"\n\nSyntaxe "$red"[+ ou -][entier | decimal]"$end"\n" && exit 2 ;
 
# COMMANDE AVEC ARGUMENT
else
	# ENTIER POSITIF
	[[ $1 = +(+)+([0-9]) ]] && echo -e "Nombre valide : "$green"ENTIER POSITIF"$end"\n" && exit 0 ;
 
	# ENTIER NEGATIF
	[[ $1 = +(-)+([0-9]) ]] && echo -e "Nombre valide : "$blue"ENTIER NEGATIF"$end"\n" && exit 0 ;
 
	# DECIMAL POSITIF
	[[ $1 = +(+)+([0-9])@([.|,])+([0-9]) ]] && echo -e "Nombre valide : "$green"DECIMAL POSITIF"$end"\n" && exit 0 ;
 
	# DECIMAL NEGATIF
	[[ $1 = +(-)+([0-9])@([.|,])+([0-9]) ]] && echo -e "Nombre valide : "$blue"DECIMAL NEGATIF"$end"\n" && exit 0 ;
 
	# GESTION ERREUR
	[[ $1 != +([+-])+([0-9])* ]] && echo -e ""$red"Nombre INCORRECT"$end"\n \nSyntaxe "$red"[+ ou -][entier | decimal]"$end"\n" && exit 2 ;
 
fi
scripting/mathtest.txt · Dernière modification: 13/11/2011 à 16:38 (modification externe)


Recent changes RSS feed Licence CC BY-SA 2.0 Powered by JQuery Powered by PHP Driven by DokuWiki
Aller bas de page
Retour haut de page