I want to 'put' a file from local system to FTP server using sftp (only) from bash script.  I want to suppress all messages except errors:sftp $user@$server 2>&1 1>/dev/null <<EOFput $local_file_path $remote_file_pathEOFOutput of the command , when successful:Connecting to <server>...Why I am still getting it? 
SFTP suppress all messages except errors
bash;sftp
Probably because Connecting to <server>... is sent to file descriptor 2 (stderr). Remember that the only difference between file descriptors 1 (stdout) and 2 (stderr) is that the former is traditionally used for normal messages while the latter is traditionally used for debug or error outputs. However, the program decides what goes to one channel or the other, you can redirect one output or the other but you cannot decide what is printed where. You cannot enforce for example that only errors go to stderr.