Appelez le script A à partir du script B et écrivez la sortie du script A dans le fichier

J’ai deux scripts, A et B.

Je dois capturer toutes les sorties de terminal du script A dans un fichier. Je sais que je peux le faire: A |tee myfile.log ou A > myfile.log

Cependant, lorsque je le fais depuis le script B, cela ne fonctionne pas (le script A fonctionne correctement, mais la sortie n’est pas redirigée).

Ex. Script A:

 echo "I'm script A" 

Ex. Script B:

 echo "Starting script B" A |tee myfile.log echo "Finished script B" ./B.sh 

Sortie:

 I'm script A 

Cela semble bien fonctionner pour moi. Vous avez besoin de ./ car le script ‘a’ n’est pas dans votre $ PATH. Le ./ dit “regardez dans le répertoire actuel de mon script plutôt que de regarder tous les répertoires spécifiés dans $ PATH”.

 #!/bin/bash echo "Starting script B" ./a.sh | tee myfile.log echo "Finished script B"