Por convenção, os aplicativos produzem saída em dois descritores de arquivo: 1 ( stdout
) e 2 ( stderr
). O recurso de pipe do shell redireciona o stdout
de um processo para o stdin
do outro. Dessa forma, os aplicativos podem separar as mensagens de erro ou de status de suas saídas normais e ainda serem utilizáveis ao transmitir sua saída.
Parece que a saída que você deseja enviar para zenity
está sendo enviada para stderr
. Na sua segunda linha de comando, a parte 2>&1
diz para redirecionar toda a saída ncftpput
envia para stderr
para stdout
. Isso faz com que seja canalizado para zenity
.