shell脚本交互式sftp密码登录、上传文档
cat upload_file.sh
#!/bin/sh
# 命令行第一个入参
date=$1
user="user"
passwd="password"
host="host"
port=22
remote_dir="remote_dir_path"
local_file="local_file_path"
# sh脚本插入expect语法
expect <<!
# spawn启动交互式
spawn sftp -P ${port} ${user}@${host}
expect "*password: \n"
send "${passwd}\n"
expect "sftp>"
# 进入本地待上传文件所在路径
send "put ${local_file} ${remote_dir}"
expect "sftp>"
send "exit\n"
# 最后用!结束expect语法
!