运行程序并提供输入

运行程序并提供输入

我有一个从命令行运行的程序。一旦运行,它就会要求输入文本值,并期望在此之后按下返回键。

是否可以创建一个运行该程序的 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

相关内容