Как автоматизировать два одновременных терминала в Linux?
Я пытаюсь запустить эмулятор удаленно.
Вручную:
Я открываю три терминала (обычно в виде вкладок в mate-терминал, но это не важно)
Во-первых, я запускаю 'Startemulator'.
Во втором я запускаю "startuart". Этот терминал должен оставаться в живых, поскольку он обеспечивает двустороннюю связь с эмулируемым устройством через него UART.
Затем я должен подождать, пока эмулированное устройство не напечатает [RDY] поверх его UART. Это занимает около 10 минут, но время варьируется.
Только тогда я могу запустить 'starthost' в третьем терминале. Далее следуют некоторые другие команды, которые всегда одинаковы, включая вход на хост-компьютер. Если я сделаю это слишком рано, до того, как устройство будет готово, весь ад разорвется.
Как только это будет сделано, я получу три терминала, каждый из которых будет полезен независимо друг от друга.
Как я могу автоматизировать этот процесс (без перенастройки всех базовых сценариев, которые не находятся под моим контролем и от которых зависят другие люди)?
Я хотел бы иметь возможность набрать "идти", а затем пойти и сделать чашку кофе и вернуться, чтобы найти все три терминала установлены и ждут меня.
Я знаю, что могу использовать "ожидать" для последовательности команд в третьем терминале, но я не знаю, как заставить его ждать, пока что-то будет напечатано в другом терминале. Я мог бы использовать задержку, но это грязно и хрупко.