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"