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