期望输入用户名和密码的脚本

期望输入用户名和密码的脚本

我正在尝试运行一个期望脚本,每次提示输入用户@blah 的密码时,它都会输入密码,我有以下期望脚本,但它似乎正在发生故障。

有人能告诉我我做错了什么吗?我运行命令时多次出现此提示,因此每次我都需要输入密码,它会看到 user@blah 的密码。

#!/usr/bin/expect
global env
set timeout 10
spawn command that requires password
expect "^user"
send "password\r"

谢谢,麻烦您了。

答案1

只需将最后一点与我见过的另一个例子

spawn ssh root@$ipaddr $scriptname $arg1
match_max 100000

expect "*?assword:*"
send -- "$password\r"

# send blank line (\r) to make sure we get back to gui
send -- "\r"

expect eof

它们的发送语法似乎略有不同。而且它们还允许相当自由的期望正则表达式。最后几部分可能也有一些答案。

相关内容