Bonjour,
Je me plante pas mal sur les redirections d'erreur : (J'ai essayé de comprendre, en faisant un script test, mais je n'y parviens pas)
Ce que j'aimerais éviter c'est que
exec 2>"$CheminJournalErreur" dirige dans le JournalErreur le menu de selection de la fonction MenuGeneral()
Ma question :
Dans le script test suivant, comment retrouver l'affichage de la fonction MenuGeneral() puis reactiver la redirection vers le JournalErreur pour la suite du script?
Merci bien
#!/bin/bash
CheminJournalErreur="./JournalErreur"
CheminJournal="./Journal"
CheminJournalDeveloppeur="./JournalDeveloppeur"
exec 2>"$CheminJournalErreur"
truncate -s 0 "$CheminJournalErreur"
echo "lancement du script"
TmpTexte=$(echo "
-------------------- Je lance le SCRIPT------------------------- ")
echo "$TmpTexte">>"$CheminJournal"
echo "$TmpTexte">>"$CheminJournalDeveloppeur"
echo "$TmpTexte"
MenuGeneral()
{
echo "
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Menu general :"
PS3="Choisir l'action : "
select itemAct2 in "- Choix 1 " "- Choix lancer 2 " "- Choix Construction 3" "- Choix (re)Construire 4" "- choix5" "- Fin du script"
do
echo "Le choix fait $REPLY:$itemAct2"
# pour tester la variable de type entier :
if let "$REPLY" 2>/dev/null
then
echo "choix conforme"
return
else
echo "Entrée erronée ! variable non numérique"
fi
done
}
ls "fichier n'existe pas"
ls "JournalErreur"
unset reponse2
# ---------------------------------- Gestion select ---------------------------------A
echo "test que les erreurs sont détectable et bien envoyées dans le fichier $CheminJournalErreur"
ls "fichier2 qui n'existe pas"
ls "JournalErreur"
echo "Appel du menu general"
MenuGeneral
echo "Le Fichier Erreur :"
cat $CheminJournalErreur