我有一个从命令行运行的程序。一旦运行,它就会要求输入文本值,并期望在此之后按下返回键。
是否可以创建一个运行该程序的 bash 脚本,等待提示出现(假设 2 秒),然后提供文本和回车键?
编辑:
我用 Expect 创建了这个脚本,但它不起作用:
#!/usr/bin/expect -f
set timeout 15
set user "myusername"
set server "x.x.x.x"
spawn ssh -l $user -p AAAA $server
expect "[email protected]'s password: "
send "the password\r"
其中 AAAA 是端口,xxxx 是 IP。
当我运行这个脚本时,它几乎立即完成并且没有任何反应。
答案1
它现在可以工作,但我将脚本更改为:
#!/usr/bin/expect -f
set timeout 15
set user "myusername"
set server "x.x.x.x"
spawn ssh -l $user -p AAAA $server
expect "[email protected]'s password: " { send "the password\r" }
interact