#!/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