bash stampa va al log ma output = not

0

La prima riga di questo snipet va al file di log, ma il secondo no. Ho bisogno che il secondo sia eseguito e loggato.

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

Come posso registrare anche l'output = line?

    
posta novski 24.02.2017 - 09:18
fonte

1 risposta

2

Nella seconda riga, non dovrebbe esserci uscita! Stai assegnando il risultato di restic -r ${backupdir} snapshots a output , e questo non produrrà alcun output, a stdout o a stderr (equivale a output="Value stored for later" - quando questo comando viene eseguito, non c'è output ).

Prova qualcosa come ...

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

Oppure potresti semplificarlo semplicemente facendo ...

restic -r ${backupdir} snapshots 2>&1 | tee -a $logfile
    
risposta data 24.02.2017 - 09:29
fonte

Leggi altre domande sui tag