sftp shell脚本自动文件传输

时间:2015-04-14 10:49:36

标签: bash shell

下面脚本将文件转移到另一台没有密码的服务器,但是在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/

echo“脚本完成......”

在这里,我没有得到回应“成功状态?” ,“脚本完成”和“mv”命令不起作用......但文件传输成功完成。但是,如果我将此脚本作为主脚本中的函数并从“case”语句调用,则此文件传输也无法正常工作。

1 个答案:

答案 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/