下面的脚本将文件传输到另一台没有密码的服务器,但在sftp进程下面的语句没有执行之后。如果我运行相同的脚本(保存在主shell脚本下的ftpAutomatic())函数并在case语句内调用它,我得到错误为“行441:语法错误:文件的意外结束 ”sftp shell脚本自动文件传输
脚本:
#!/bin/sh
ftp_site="10.***.***.**"
username="dwadmin"
#source path
spath="/home/abc/data"
#Remote Path
rpath="/home/def/bas"
cd $spath
sftp [email protected]$ftp_site <<EOL
cd $rpath
mput bcs_extract_*.txt.pgp
bye
EOL
echo "Success : $?"
mv $spath/bcs_extract* $spath/queue/
回声 “脚本做......”
在这里,我没有得到回音 “成功状态?” ,“脚本完成”和“mv”命令不工作...但文件传输已成功完成。但是,如果我在主脚本中将此脚本作为函数并从“case”语句中调用,则此文件传输也不起作用。
请告诉我的错误在我的脚本如上 – user3321778
为什么不直接使用'scp'? – Biffen
你的'EOL'是缩进的。它不应该。我可以推荐使用http://www.shellcheck.net吗? – Biffen