Как автоматизировать два одновременных терминала в Linux?

Я пытаюсь запустить эмулятор удаленно.

Вручную:

Я открываю три терминала (обычно в виде вкладок в mate-терминал, но это не важно)

Во-первых, я запускаю 'Startemulator'.

Во втором я запускаю "startuart". Этот терминал должен оставаться в живых, поскольку он обеспечивает двустороннюю связь с эмулируемым устройством через него UART.

Затем я должен подождать, пока эмулированное устройство не напечатает [RDY] поверх его UART. Это занимает около 10 минут, но время варьируется.

Только тогда я могу запустить 'starthost' в третьем терминале. Далее следуют некоторые другие команды, которые всегда одинаковы, включая вход на хост-компьютер. Если я сделаю это слишком рано, до того, как устройство будет готово, весь ад разорвется.

Как только это будет сделано, я получу три терминала, каждый из которых будет полезен независимо друг от друга.


Как я могу автоматизировать этот процесс (без перенастройки всех базовых сценариев, которые не находятся под моим контролем и от которых зависят другие люди)?

Я хотел бы иметь возможность набрать "идти", а затем пойти и сделать чашку кофе и вернуться, чтобы найти все три терминала установлены и ждут меня.

Я знаю, что могу использовать "ожидать" для последовательности команд в третьем терминале, но я не знаю, как заставить его ждать, пока что-то будет напечатано в другом терминале. Я мог бы использовать задержку, но это грязно и хрупко.

0 ответов

Другие вопросы по тегам