SHELL中sftp带密码登录,上传文件

SHELL中sftp带密码登录,上传文件

由于对端FTP服务器有时候非本方负责,会出现shell脚本中无法使用lftp等工具免密码登录SFTP的情况,这时使用expect来操作sftp命令
expect段样例脚本如下:

/usr/bin/expect << EOF
spawn sftp $FTP_USER@$FTP_TGT_HOST
set timeout 60
expect -re "Are you sure you want to continue connecting (yes/no)?" {
  send "yes\r"
} -re "password:" {
  send "$FTP_PWD\r"
}
expect "Connected*"
expect "sftp>"
send "cd /dxjzxx/userinfo\r"
expect "sftp>"
send "lcd /ftpdata/offer/eda_out/out_0002\r"
expect "sftp>"
send "mput $file_name\r"
expect "sftp>"
send "mput $chk_file_name\r"
expect "sftp>"
send "bye\r"
EOF

你可能感兴趣的:(shell)