Let's explain you my doubt.
We all know that >&
is shell syntax for "fold a file descriptor into another".
So 2>&1
means that i want to redirect stderr to the stdin, this is simple and clear :)
The thing that i don't understand is this (let explain it with an example)
ncftpput -u $user -p $pass $host $remote_dir $local_file | zenity --text-info --title "Putting files..." --width 600 --height 300
The code above doesn't works...but this works perfectly:
ncftpput -u $user -p $pass $host $remote_dir $local_file 2>&1 | zenity --text-info --title "Putting files..." --width 600 --height 300
I don't undestrand why if i put 2>&1
the redirection to zenity work and if i don't write 2>&1
redirection doesn't works. Why?