Сценарии вокруг проклятий?
У меня есть процесс, с которым я постоянно сталкиваюсь.
- Требуется запустить команду, а затем ввести несколько частей информации.
- Затем мне предлагают меню проклятий, в котором перечислены несколько вариантов.
Первый тайм легко автоматизировать с помощью ожидаемого. Вторая часть, которую я не знаю, о простом способе автоматизации.
Какие-либо предложения?
3 ответа
К сожалению, ожидаемый (от любого языка) не очень подходит для чего-то, что не является стандартным откликом экранного буфера. Я видел некоторые реализации, которые пытаются иметь дело с обновлениями позиции курсора, такими как проклятия, но результаты не всегда эффективны.
Я чувствую, что ваше время было бы лучше потратить на изучение того, какие операции приложение curses предоставляет вам меню для настройки вашего приложения, которое выполняет эти пункты самостоятельно. Я обнаружил, что почти в каждом меню проклятий есть сопутствующая команда или команда для одного из них.
Если вы можете поделиться тем, что меню проклятий для сообщества, может помочь вам с тем, что происходит в фоновом режиме. Если вы не можете, потому что это что-то домашнее, вы должны быть в состоянии уловить то, что происходит в фоновом режиме, с чем-то вроде strace
Надеюсь это поможет.
Посмотрите на hpuifilter
Утилита включена в RANCID. Первоначально он был написан, чтобы помочь ожидаемым сценариям RANCID справиться с подобными проклятиям меню переключателей HP. Тем не менее, он написан как фильтр, так что вы можете направить в него свое приложение curses, и оно будет выплевывать открытый текст, лишенный управляющих последовательностей VT100, что должно быть проще в будущем.