У меня есть файл журнала, который регистрирует вывод последовательного порта. После того, как найденная строка найдена, она прекращает поиск и продолжается с остальной частью скрипта.Обработка ошибок во время мониторинга файла журнала
Моя проблема иногда, но не всегда, есть момент, когда машина, которая регистрируется через последовательные остановки и ждет ввода пользователя («нажмите любую клавишу, чтобы продолжить»).
Поскольку мой текущий скрипт только ищет определенную строку 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/) для. –