0

我尝试了一切,甚至删除了 stty echo 行,但是在用户输入密码后,密码在一瞬间可见。我认为这是一些超时问题,所以我正在尝试使用各种超时值,但都是徒劳的

set timeout 30
stty -echo
send_user -- "Password for $username :"
expect_user -re "(.*)\n"
set timeout .000000001
set timeout 30
send_user "\n"
set timeout 30
set password $expect_out(1,string)
send -- "$password\r"

我该如何处理这个可能是什么原因

4

1 回答 1

2

我试过你的代码,它对我来说很好。Expect你用的是哪个版本的?
顺便说一句,我通常这样写:

stty -echo
send_user "Password: "
expect_user -timeout 3600 -re "(.*)\n"
stty echo
send_user "\r\n"
set passwd "$expect_out(1,string)"
于 2013-03-14T01:54:33.017 回答