hello/Readme.md

133 lines
3.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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, или используйте абсолютный путь