bash prinf va al registro pero no es el resultado

0

La primera línea de este recorte va al archivo de registro, pero la segunda no. Necesito que el segundo sea ejecutado y registrado.

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

¿Cómo puedo registrar la salida = línea también?

    
pregunta novski 24.02.2017 - 09:18

1 respuesta

2

En la segunda línea, ¡no debería haber salida! Está asignando el resultado de restic -r ${backupdir} snapshots a output , y eso no producirá ningún resultado, ya sea a stdout o a stderr (es equivalente a output="Value stored for later" - cuando este comando se ejecuta, no hay salida ).

Prueba algo como ...

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

O puedes simplificarlo simplemente haciendo ...

restic -r ${backupdir} snapshots 2>&1 | tee -a $logfile
    
respondido por el John N 24.02.2017 - 09:29

Lea otras preguntas en las etiquetas