我有記錄一個串口輸出的日誌文件。找到匹配的行後,它終止搜索並繼續執行腳本的其餘部分。錯誤處理,同時監控日誌文件
我的問題是,有時,但並非總是如此,有一點當這樣正在通過串行暫停記錄,並等待用戶輸入機器(「按任意鍵繼續」)。
由於我目前的腳本只是在尋找某個字符串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