Outils pour utilisateurs

Outils du site


scripting:mathtest

BASH : 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.

#!/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: 15/04/2016 à 21:15 (modification externe)

Outils de la page