Minicom последовательный набор адресов
Мне было поручено написать сценарий для утилиты соединения с Minicom, которая проверяет ряд номеров в каталоге набора, и я обнаружил, что запеченный на языке сценариев почти бесполезен. Я пытался использовать синтаксис запуска оболочки, чтобы указать количество записей в директории набора номера, но ничто не сработало так, как мне поверила документация. В конечном счете, я хотел бы, чтобы процесс набора нескольких серий был завершен одним махом. Однако этот процесс останавливается из-за необходимости "нажимать любую клавишу для продолжения", когда он либо останавливается, либо подключается. Есть ли способ отключить это? Это серьезно мешает моему проекту автоматизации.
1 ответ
Непонятно, с какой версией minicom вы работаете, но я пошел и посмотрел исходный код текущей версии 2.7. (Мне жаль, что я посмотрел - это жжет мне глаза. Какая уродливая связка кода C...)
Похоже, что приглашение, о котором вы говорите, вызывается из dial.c
в двух разных местах - строки 384 и 598.
Строка 384 вызова происходит, когда время повтора становится меньше нуля. Я не вижу никакого способа обойти это всплывающее окно, если не считать перекомпиляцию миникома. Я полагаю, вы могли бы определить какой-то тайм-аут в своем скрипте и, после того как вы сформируете minicom, убить его, когда истечет этот тайм-аут. Это немного взломать.
Вызов строки 598, по-видимому, зависит от того, не указан ли сценарий в записи справочника набора номера. Если бы вы указали скрипт, который "ничего не делал", вы, вероятно, могли бы избежать этого. Может быть. Я на самом деле не устанавливаю его, чтобы увидеть.
Я вижу в doc/Todo.175
Файл, подавляющий подсказки, находится в "дорожной карте". Похоже, это было там некоторое время... > улыбка<
Учитывая эти трудности, я думаю, я бы оценил, является ли Minicom правильным инструментом для работы. Используя старый добрый expect
может просто иметь больше смысла.