Go to file
Ваше Имя 02c103e196 up 2026-03-24 22:09:16 +05:00
.vscode first commit 2025-03-02 18:51:02 +05:00
menu up 2026-03-24 22:09:16 +05:00
Readme.md up 2026-03-24 22:09:16 +05:00
env.ini up 2026-03-24 22:09:16 +05:00
go.mod first commit 2025-03-02 18:51:02 +05:00
go.sum first commit 2025-03-02 18:51:02 +05:00
hello up 2026-03-24 22:09:16 +05:00
main.go up 2026-03-24 22:09:16 +05:00

Readme.md

Hello

Утилита командной строки для работы через интерактивное меню.

Установка

Вариант 1: Сборка из исходников

# Клонируем или копируем исходники
cd /путь/к/проекту

# Собираем бинарник
go build -o hello main.go

# Проверяем
./hello --help

Вариант 2: Ручное копирование

  1. Скомпилируйте или возьмите готовый бинарник hello

  2. Скопируйте его в один из путей:

# Вариант A: В домашнюю папку (рекомендуется)
cp hello ~/hello

# Вариант B: В текущую рабочую папку
cp hello /ваша/рабочая/папка/

# Вариант C: В системный PATH (если нужно глобально)
sudo cp hello /usr/local/bin/
  1. Создайте структуру конфигов (если нужно):
mkdir -p menu
# положите туда ваши menu.yml и env.ini

Использование

Интерактивный режим

# Запуск с конфигом по умолчанию (ищет menu/menu.yml)
./hello

# Запуск с указанием пути к конфигу через флаг -c
./hello -c /путь/к/моемуеню.yml
./hello -c ./another_menu.yml

Прямой запуск команд

# Выполнить пункт 1 (используя конфиг по умолчанию)
./hello --exec "1"

# Выполнить цепочку 1 → 2 → 3 с указанием конкретного конфига
./hello -c ./deploy_menu.yml --exec "1-2-3"

Флаги командной строки

Флаг По умолчанию Описание
-c menu/menu.yml Путь к файлу конфигурации меню. Позволяет указать произвольный путь к .yml файлу. Если не указан, ищет файл в папке menu.
--exec "" Режим прямого выполнения. Позволяет выполнить пункты меню без входа в интерактивный режим. Аргумент — строка с номерами пунктов, разделенными дефисом (например, "1-2-3").

Структура проекта

.
├── hello                 # бинарник (после сборки)
├── main.go              # исходный код
├── menu/                # папка с меню (стандартный путь)
│   └── menu.yml         # главное меню
├── env.ini              # переменные (опционально)
└── README.md

Быстрый старт

  1. Соберите бинарник
  2. Создайте базовый menu/menu.yml:
items:
  1:
    title: "1. Список файлов"
    commands:
      - "ls -la"
  2:
    title: "2. Проверка диска"
    commands:
      - "df -h"
  1. Запустите:
./hello

Отладка

# Запуск с Delve
dlv debug --headless --listen=:40000 --api-version=2

# Компиляция с отладочной информацией
go build -gcflags="all=-N -l" -o hello main.go

Примечания

  • Программа ищет menu.yml в папке menu/ относительно места запуска
  • Если menu.yml не найден, нужно создать его вручную
  • Файл env.ini нужен только если в меню используются переменные %(имя_переменной)s
  • Для работы в любой папке копируйте бинарник в место, указанное в PATH, или используйте абсолютный путь