将sftp shell脚本命令转换为ftp命令

时间:2011-09-02 15:38:45

标签: bash shell ftp sftp

我正在编写我的第一个shell脚本,并试图找出如何转换此命令:

sftp -o IdentityFile=/home/test/test/id_dsa test@test.test.com < sftp_put.txt; 

到我连接到ftp服务器的等效命令中。关键的区别是我将通过用户名和密码而不是我的ssh凭据登录此服务器。注意我正在尝试上传两个文件。

再次感谢任何帮助!

2 个答案:

答案 0 :(得分:0)

您可以使用.netrc

$ cat > .netrc
machine your.machine.ip.address
login your.login.name
^D
$ ftp your.machine.ip.address < ftp_cmds.txt

会提示您输入密码。如果您对它没问题,可以在.netrc中保存密码(明文)以跳过此提示。有关详细信息,请参阅man netrc

答案 1 :(得分:0)

   ftp -v -n <<EOF > ${LOG_FTP} 2>&1
   open ${IP_ADDRESS_SERVER}
   user ${FTPUSER} ${FTPPASS}
   cd ${REMOTE_DIR}
   put sftp_put.txt
EOF