Bonjour,
J'ai un soucis avec l'un de mes scripts shell.
L'extrait du code correspond a un script qui va lire un fichier de paramètre formatté, et effectue un contrôle des valeurs sur une colonne.
Voici le bout de code qui m'ennuye :
Code :
- ###
- #
- # Controle fichier CFG existe et valeur de champ criticite
- #
- ###
- if [ ! -f ${cfgfile} ] ; then
- func_err "Le fichier CFG "${cfgfile}" n'existe pas"
- else
- func_info_log "Fichier CFG trouve : "${cfgfile}
- cat ${cfgfile} | grep -v "#" | while read line
- do
- level=`echo ${line} | awk -F: '{print $2}'`
- case ${level} in
- E)
- ;;
- W)
- ;;
- I)
- ;;
- *)
- func_info_log "Valeur de criticite ${level} invalide dans ${cfgfile}"
- func_err "Doit etre E (Erreur), W (Avertissement) ou I (Ignorer)"
- esac
- done
- func_info_log "Les criticites sont valides"
- fi
- # func_err "ESSAI POUR TESTER SORTIE DU SCRIPT"
|
Ci dessous la fonction 'func_err'
Code :
- func_err () {
- err=$1
- echo "ERR : "${err} >> ${logfile}
- mail_flag=ERR
- func_mail
- exit 1
- }
|
Cette fonction func_err est utilisé dans X scripts et me fait un exit du script en cas d'erreur. Le script s'arrête donc totalement.
Dans l'exemple du dessus, la fonction est invoquée lorsque mon contrôle trouve des valeurs autres que 'E','W' et 'I'.
Par contre, le script ne se termine pas. Je sors de la boucle, et malheureusement le script continue
Help
Message édité par Vince310884 le 27-11-2014 à 13:10:57