我正在尝试运行一个期望脚本,每次提示输入用户@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
它们的发送语法似乎略有不同。而且它们还允许相当自由的期望正则表达式。最后几部分可能也有一些答案。