Se você fizer no seu script:
ssh host cmd >&3 2>&4
Então quem chama seu script pode fazer:
your-script > output 2> error 3> remote-output 4> remote-error
No entanto, se eles não redirecionarem os fds 3 ou 4, o redirecionamento >&3
causará um erro fatal 3: Bad file descriptor
.
Você pode usar como padrão redirecioná-los para / dev / null nesse caso com algo como:
(
command exec >&3
command exec 2>&4
exec ssh host cmd...
) > /dev/null 2>&1
A execução do exec
especial incorporado em command
cancela o efeito especial que sai da sub-shell após um redirecionamento mal-sucedido. Os erros para esses redirecionamentos falhos são convenientemente descartados pelo > /dev/null 2>&1
externo.