
Estou tentando redirecionar a saída ssss-combine
para um arquivo, sem sucesso até o momento.
Eu tentei o básico: > file
, 2>&1 > file
mas tee file
ele sempre aparece na tela e nada é colocado no arquivo.
Responder1
Embora você não tenha especificadoexatocomando que você está executando e, como tal, é difícil ter certeza, presumo que seu comando seja impresso no descritor de arquivo de erro padrão (também conhecido como stderr) em vez de stdout.
Os redirecionamentos > file
ou | tee file
apenas redirecionam stdout, mas não stderr.
2>&1 > file
também não faz o que você procura. Ele primeiro redireciona o erro para onde o stdout está no momento, que é o seu emulador de terminal, eentãoredireciona stdout (e apenas stdout, não stderr) para um arquivo.
Você pode usar 2>file
para redirecionar stderr ou trocar os dois redirecionamentos no exemplo anterior: >file 2>&1
para redirecionar ambos os fluxos para o mesmo arquivo. A ordem é importante porque são avaliados da esquerda para a direita. Desta vez, você primeiro redireciona a saída para o arquivo e, em seguida, o erro para o local atual da saída (que já é esse arquivo).
Responder2
O truque é usar script -c 'ssss-combine ...' output.txt
(porque ssss não gera saída para stdout)