0 votes

bash prinf va dans le journal mais output= non

La première ligne de ce bout de phrase va dans le fichier journal, mais pas la seconde. J'ai besoin que la seconde soit exécutée et enregistrée.

#!/bin/bash
printf '%s %s (%s) running...\n' 2>&1 | tee -a $logfile
output=$(restic -r ${backupdir} snapshots ) 2>&1 | tee -a $logfile

Comment puis-je également enregistrer la ligne output= ?

2voto

John N Points 1418

Dans la deuxième ligne, il ne devrait pas y avoir de sortie ! Vous assignez le résultat de restic -r ${backupdir} snapshots à output et cela ne produira aucun résultat, que ce soit pour stdout ou à stderr (c'est l'équivalent de output="Value stored for later" - lorsque cette commande est exécutée, il n'y a pas de sortie).

Essayez quelque chose comme...

output=$(restic -r ${backupdir} snapshots )
echo $output | tee -a $logfile

Ou vous pouvez le simplifier en faisant juste...

restic -r ${backupdir} snapshots 2>&1 | tee -a $logfile

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X