我有记录一个串口输出的日志文件。找到匹配的行后,它终止搜索并继续执行脚本的其余部分。错误处理,同时监控日志文件
我的问题是,有时,但并非总是如此,有一点当这样正在通过串行暂停记录,并等待用户输入机器(“按任意键继续”)。
由于我目前的脚本只是在寻找某个字符串Login:
,所以没有办法让echo
返回来绕过提示并继续寻找Login:
字符串。
是否有一种简单的方法可以将某种case
或if
语句添加到以下脚本中?
cat /dev/ttyS0 > serial.log &
catPID=$!
sh -c 'tail -n +0 -f serial.log | { sed "/Login:/ q" && kill $$ ;}' &
searchPID=$!
wait "$searchPID"
kill "$catPID"
echo "Admin" > /dev/ttyS0
我需要的脚本来检查字符串的方式:Press any key to continue
,然后echo \r
如果它不发生,提示,继续搜索Login:
提示。
我不知道我明白你在这里实际尝试做什么,但这听起来像那种你可能想使用['expect'](http://expect.sourceforge.net/)。 – 2014-09-11 14:00:53