Основная цель menu.sh— предоставить пользователю удобный способ организации и выполнения часто используемых команд и скриптов. Работает как на Linux так и на Windows (за исключением tmux)
Его задачи:
- Упростить сложные рабочие процессы : предоставьте удобное меню для набора команд, что избавит от необходимости запоминать сложный синтаксис.
- Повышение удобства использования : используйте клавиши Up/Down/Enter/Backspace для навигации, как в графических интерфейсах.
- Поддержка модульности : загрузка пунктов меню и команд из внешних файлов для легкой настройки.
- Сохранение переменных : сохранение введенных пользователем значений между сеансами.
- Журнал логов: ведение журналов выполненных команд.
Генерация динамического меню :
- Главное меню : файлы с расширением .menu, это элементы верхнего уровня.
- Вложенные подменю : файлы с расширением .subm связаны с помощью команды submenu:.
- Определение внешней команды : Команды объявляются внутри .menu и .subm в файлах в формате Menu_Item_Name=Command.
- Сохранение переменных : заполнители, такие как <host_or_ip> или, <bytes> инициируют запросы на ввод данных пользователем и сохраняют значения в menu.cfg, при повторном использовании команды подставляются в значение по умолчанию если пользователь не ввел значение.
- Интерактивная навигация : использует клавиши Up, Down, Enter и Backspace.
- Интеграция Tmux (для Linux) для ведения журнала : опциональная возможность отображения логов команд в реальном времени в отдельном окне tmux запускается автоматически (при отсутствии tmux можно выполнить команду: tail -f menu/menu.log в отдельном или разделенном окне).
Примеры пунктов меню и их команд (.menu .subm):
Truncate Log=truncate -s <bytes> menu/menu.log;
Ping HOST или IP=ping <host_or_ip>;
Nmap=submenu:Nmap.subm
Вступайте в нашу телеграмм-группу Инфостарт