Bonjour.

J'utilise une fonction dans pas mal de mes quelques scripts :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#gestion d'erreurs et logs
launch() {
        cmd=$1
        purpose=$2
        redirection=$3
 
        echo "#$purpose" | tee -a $log_file
 
 
        if [ $redirection ]
        then
                #cas ou on a une redirection dans la commande
                #on ne peut pas doublement rediriger
                #donc on ne log pas les erreurs eventuelles
                if [ $redirection = o ]
                then
                        echo $cmd | tee -a $log_file
                        eval "$cmd"
                else
                #cas ou le 3eme argument est mal saisi
                        echo "ERREUR launch : verifier arguments" | tee -a $log_ file
                        exit
                fi
        else
                #cas standard
                echo $cmd | tee -a $log_file && err=`eval "$cmd 2>&1"`
                if [ $? -ne 0 ]
                then
                        echo "ERREUR $? : $err" | tee -a $log_file
                        exit
                fi
                echo -e $err
        fi
}
Je me suis récemment rendu compte que je n'avais pas la sortie standard.
On peut voir dans le cas standard que je récupère le résultat dans err grâce à:
Si par la suite, je fais
C'est pour qu'effectivement apparaisse la sortie standard.
Seulement, les retours à la ligne disparaissent de cet affichage.

Où est ce qu'ils ont disparu ?

Merci d'avance