我有这个命令command
,在某些时候返回:Press Enter to continue
。
我想编写一个调用command
的脚本,读取最远的命令输出,在Press Enter to continue
到达时对其执行某些操作,并在完成此操作时模拟输入按键。
我有机会实现这一目标吗? :-D
类似的东西:
myscript | command > output
myscript
#!/bin/bash
cp output output2 # output2 should only contain the output until Press Enter to continue
echo -ne '\n'
除了它不起作用! : - )
答案 0 :(得分:1)
理想情况下,您应该使用expect
命令来实现该示例代码:
#!/usr/bin/expect
set timeout 600
spawn command
expect "Press Enter to continue" { send "\r" }
注意:用您的命令替换command
。
然后将其保存到脚本中,使其可执行并运行它。
检查:man expect
以获取更多信息。
在OS X上安装:brew install expect
。