Обновил Readme.md
This commit is contained in:
parent
de5e4d9efb
commit
cf969a764d
135
Readme.md
135
Readme.md
|
|
@ -1,2 +1,133 @@
|
||||||
# Debug
|
# Hello
|
||||||
```dlv debug --headless --listen=:40000 --api-version=2```
|
|
||||||
|
Утилита командной строки для работы через интерактивное меню.
|
||||||
|
|
||||||
|
## Установка
|
||||||
|
|
||||||
|
### Вариант 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, или используйте абсолютный путь
|
||||||
Loading…
Reference in New Issue