使用Expect
处理脚本,它给了我奇怪的输出。这是我的剧本:
#!/usr/bin/expect
cd ~/Downloads/
spawn /usr/sbin/program
expect "Enter Username: "
send "username\r"
expect "Enter Password: "
send "password\r"
我的标准输出如下:
输入用户名:用户名
用户名
输入密码:home @ debian:/ home / debian#
它只退出我的程序。通常如果我输入了错误的密码,它会再次提示我。我也很困惑为什么打印"用户名"两次。
答案 0 :(得分:0)
如果程序要在输入密码后运行完成,只需在最后添加:
expect eof
这应该等到产生的进程完成并关闭。