Я пытаюсь сделать простой и надежный скрипт, желательно на bash, который выполняется каждую минуту с помощью crontab. Сценарий просто должен прочитать содержимое последних двух строк открытого экрана и сохранить их как переменную, чтобы я мог искать подстроку. Кто-нибудь знает простой способ сделать это, спасибо.

3
user5742489 8 Янв 2017 в 23:20
Вообще ничего, потому что я не знаю, как bash "считывает вывод" изнутри экрана. По сути, это все, что мне нужно, так как остальная часть моего сценария написана. Я рассматривал возможность использования -L для записи экрана в файл, а затем чтения из него, но это, очевидно, занимает больше места и может привести к проблемам, поскольку сценарий предназначен для поиска определенного кода ошибки в программе, которая запускается на экране. , затем убивает экран и открывает новый. Это может быть невозможно, я просто подумал, что попрошу сообщество узнать, есть ли у них какие-либо предложения.
 – 
user5742489
9 Янв 2017 в 00:36

1 ответ

Лучший ответ

Вы можете отправить на экран команду hardcopy и прочитать последнюю строку с помощью команды tail:

screen -X hardcopy "~/test.log"
tail -n1 ~/test.log
4
trs 22 Фев 2018 в 03:19
Я не уверен, какая у вас ОС, чтобы утверждать, что last и tail в чем-то похожи. В остальном ваш ответ действительно помог.
 – 
trs
22 Фев 2018 в 00:51