linux + grava a saída padrão e o erro de posição para registrar e consolar

0

log = / tmp / log.txt

a sintaxe follwing escreve toda a saída padrão e o erro artístico do arquivo log.txt

exec > $ log 2 > & 1

o que queremos é gravar tanto a saída padrão quanto o erro de arte do estande para log.txt, mas também a saída padrão + erro padrão para o console

é possível?

    
por jango 24.04.2018 / 15:02

1 resposta

0

Existem provavelmente maneiras menos detalhadas de fazer isso, mas a solução clássica seria algo como:

#!/bin/bash

trap 'rm $TMP' 0
TMP=$(mktemp)
rm $TMP
mkfifo $TMP
tee < $TMP ${log:-/tmp/log.txt} &
exec > $TMP 2>&1

Não é preciso dizer que há enormes preocupações de segurança e confiabilidade aqui, como qualquer outro processo pode ler ou escrever a partir do fifo. Se você quiser fazer esse tipo de coisa, é muito melhor usar um wrapper simples que canalize a saída do seu script para tee .

    
por 24.04.2018 / 15:23