sftp Batchmode command level error suppression does not work?

Iain Morgan imorgan at nas.nasa.gov
Fri Feb 26 04:32:05 EST 2010


On Wed, Feb 24, 2010 at 18:01:49 -0600, Boyle, C Brian wrote:
> Hi guys -
> 
> OpenSSH sftp  (on solaris)
> 
> >From man page
> 
> Termination  on  error  can  be suppressed on a command by command basis  by  prefixing the  command  with  a  `-'  character (for example, -rm /tmp/blah* ).
> 
> This does not seem to work - instead the server seems to fail to recognize the command from the batchfile.
> 
> Consider this batchfile
> mkdir tmp
> cd tmp
> put rpt.list
> bye
> 
> We want to make sure we have a ./tmp dir - if it exists that's ok
> We want the ftp to fail if it can't cd tmp
> 
> Run as is (second round)
> sftp> mkdir tmp
> Couldn't create directory: Failure
> 
> (which is expected - directory exists)
> 
> Run with -mkdir prefix
> 
> sftp> -mkdir tmp
> Invalid command.
> sftp> cd tmp
> sftp> put rpt.list
> Uploading rpt.list to /home/bboyle/tmp/rpt.list
> sftp> bye
> 
> Note, the line -mkdir tmp is not recognized as a command
> 
> If I change the script to -mkdir xtmp (new dir)
> 
> sftp> -mkdir xtmp
> Invalid command.
> sftp> cd xtmp
> Couldn't canonicalise: No such file or directory
> 
> Does not mkdir - ignores the entire command
> Cd fails (as we would expect)
> 
> Any ideas?
> 
> 
>     C. Brian Boyle   PCVM / EWI / HS
> [cid:image001.jpg at 01CAB573.0C60AFD0]  [cid:image002.jpg at 01CAB573.0C60AFD0]
>                     Enterprise  Business Services
> 
> phone   :  303 . 688 . 6008
> cell        :  303 . 898 . 5483
> email     :  c.brian.boyle at lmco.com<mailto:c.brian.boyle at lmco.com>
> 
> 
> 


Which version of OpenSSH? And are you quite sure it is not Sun's
derivative of OpenSSH? Note also that whether -mkdir is recognized or
not is a function of the client not of the server.



-- 
Iain Morgan


More information about the openssh-unix-dev mailing list