Como abrir a conexão sftp e executar o comando sftp no mesmo comando shell [closed]

3

Existe alguma possibilidade de abrir a conexão do sftp ao servidor remoto e executar o comando sftp na mesma linha do shell.

Algo parecido com isto:

sftp [email protected] && put /tmp/test.txt /tmp/

onde put é o comando sftp.

Minha idéia é colocar o arquivo do servidor local no servidor remoto a partir do script bash, onde somente o sftp é permitido no servidor remoto.

    
por ibedelovski 18.11.2014 / 22:21

1 resposta

7

Abordagem 1:

echo "put /tmp/test.txt /tmp/" | sftp [email protected]

Abordagem 2:

Use a opção -b :

-b batchfile

Batch mode reads a series of commands from an input batchfile instead of stdin. Since it lacks user interaction it should be used in conjunction with non-interactive authentication. A batchfile of -' may be used to indicate standard input. sftp will abort if any of the following commands fail: get, put, rename, ln, rm, mkdir, chdir, ls, lchdir, chmod, chown, chgrp, lpwd, df, symlink, and lmkdir. Termination on error can be suppressed on a command by command basis by prefixing the command with a-' character (for example, -rm /tmp/blah*).

    
por 18.11.2014 / 23:25