linux - 使用 'expect' 自动发送密码

标签 linux bash shell scp expect

<分区>

我正在尝试将文件从远程服务器复制到本地。这是我运行它的脚本,通过使用“expect”自动发送密码

scp user@host:/folder/myFile ./
expect "Password: "
send "myPassword"

当我运行它时,它仍然提示输入“密码”,这是怎么回事?

最佳答案

这个 expect 脚本完成了这项工作(感谢 'zedwood' )

#!/usr/bin/expect -f
set filename [lindex $argv 0]
set timeout -1
spawn scp $filename myusername@192.168.1.123:/home/myusername/
set pass "mypassword"
expect {
        password: {send "$pass\r" ; exp_continue}
        eof exit
}

关于linux - 使用 'expect' 自动发送密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1044986/

相关文章:

c - 给定 inode,是否可以找到套接字(或文件)的修改时间?

linux - 删除除文件扩展名以外的所有内容

linux - Shell 脚本 - 在循环中使用变量

git - __git_ps1 显示错误的分支

Python:os.system 的输入被拆分

linux - 更改 insead 循环 Bash 的变量值

linux - 添加用户

php - bash 脚本从命令行运行,但不是从 cron 运行

linux - 查看环境变量 PATH 的文件夹中是否包含命令

linux - Linux中模式匹配后提取内容