从shell脚本运行命令的问题

时间:2014-02-25 10:16:35

标签: unix copy sftp remote-access

我正在尝试将文件从远程Windows服务器复制到Unix服务器。我成功地使用命令提示符从Windows服务器复制文件,但是当我从脚本运行这些命令时,它没有按预期工作。

使用的命令:

sftp user@remoteserver.com

lcd local_dir

cd remote dir

get file_name

exit

当我从脚本运行这些命令时,脚本在连接到远程服务器后停止。

有人能告诉我如何解决这个问题。

1 个答案:

答案 0 :(得分:1)

命令lcdexitsftp命令,因此您不能将它们逐行写入脚本,而必须将它们重定向为sftp s标准输入:

 # all lines till "EOF" will be redirected to sftp
 sftp user@remoteserver.com <<- EOF
 lcd local_dir
 cd remote dir
 get file_name
 exit
 EOF

 # here you are in your shell script again, eg:
 SFTPRES=$?