下面脚本将文件转移到另一台没有密码的服务器,但是在sftp进程下面的语句没有执行。另外如果我在main(shell脚本)下运行相同的脚本(保存在ftpAutomatic())函数下并在case语句中调用它,我收到错误为“第441行:语法错误:意外的文件结束 “
#!/bin/sh
ftp_site="10.***.***.**"
username="dwadmin"
#source path
spath="/home/abc/data"
#Remote Path
rpath="/home/def/bas"
cd $spath
sftp $username@$ftp_site <<EOL
cd $rpath
mput bcs_extract_*.txt.pgp
bye
EOL
echo "Success : $?"
mv $spath/bcs_extract* $spath/queue/
在这里,我没有得到回应“成功状态?” ,“脚本完成”和“mv”命令不起作用......但文件传输成功完成。但是,如果我将此脚本作为主脚本中的函数并从“case”语句调用,则此文件传输也无法正常工作。
答案 0 :(得分:2)
#!/bin/sh
ftp_site="10.***.***.**"
username="dwadmin"
#source path
spath="/home/abc/data"
#Remote Path
rpath="/home/def/bas"
cd $spath
sftp $username@$ftp_site <<-EOF
cd $rpath
mput bcs_extract_*.txt.pgp
exit
EOF
echo "Success : $?"
mv $spath/bcs_extract* $spath/queue/