# Hello Утилита командной строки для работы через интерактивное меню. ## Установка ### Вариант 1: Сборка из исходников ```bash # Клонируем или копируем исходники cd /путь/к/проекту # Собираем бинарник go build -o hello main.go # Проверяем ./hello --help ``` ### Вариант 2: Ручное копирование 1. **Скомпилируйте или возьмите готовый бинарник** `hello` 2. **Скопируйте его в один из путей:** ```bash # Вариант A: В домашнюю папку (рекомендуется) cp hello ~/hello # Использовать: ~/hello # Вариант B: В текущую рабочую папку cp hello /ваша/рабочая/папка/ # Использовать: ./hello # Вариант C: В системный PATH (если нужно глобально) sudo cp hello /usr/local/bin/ # Использовать: hello ``` 3. **Создайте структуру конфигов** (если нужно): ```bash # В домашней директории mkdir -p ~/.hello/menu cp menu.yml ~/.hello/menu/ cp env.ini ~/.hello/ # Или в рабочей директории mkdir -p menu # положите туда ваши menu.yml и env.ini ``` ## Использование ### Интерактивный режим ```bash # Если бинарник в PATH hello # Если бинарник в текущей папке ./hello # Если бинарник в домашней директории ~/hello ``` ### Прямой запуск команд ```bash # Выполнить пункт 1 из меню hello --exec "1" # Выполнить цепочку 1 → 2 → 3 hello --exec "1-2-3" ``` ## Структура проекта ``` . ├── hello # бинарник (после сборки) ├── main.go # исходный код ├── menu/ # папка с меню (опционально) │ └── menu.yml # главное меню ├── env.ini # переменные (опционально) └── README.md ``` ## Быстрый старт 1. **Соберите бинарник** 2. **Создайте базовый `menu.yml`**: ```yaml items: 1: title: "1. Список файлов" commands: - "ls -la" 2: title: "2. Проверка диска" commands: - "df -h" 3: title: "3. Git статус" commands: - "git status" catch: - "echo 'Не git репозиторий'" ``` 3. **Запустите**: ```bash ./hello ``` ## Отладка ```bash # Запуск с 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, или используйте абсолютный путь