function grabSourceFile
{
cd /tmp/lmpsource
wget $1 > $LOG
baseName=$(basename $1)
tar -xvf $baseName > $LOG
cd $baseName
}
Lorsque j'appelle cette fonction La sortie capturée ne va pas dans le fichier journal. La redirection de sortie fonctionne bien jusqu'à ce que j'appelle la fonction. La variable $ LOG est définie en haut du fichier. J'ai essayé de faire écho des déclarations et ils n'imprimeraient pas. Je suppose que la fonction capture la sortie elle-même? Si oui, comment pousser la sortie vers le fichier au lieu de la console. (Le wget ci-dessus imprime sur console, tandis qu'un écho à l'intérieur de la fonction ne fait rien.)Script Bash/shell - redirection de sortie shell à l'intérieur d'une fonction
Je ne traiterait pas avec la redirection de sortie à l'intérieur des fonctions. Utilisez exec pour configurer/restaurer les redirections de sortie sur STDERR/STDOUT: exec 3> & 2 2> /tmp/error.log; DOSOMETHING; exec 2> & 3; –