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