Создаем скрипт заново
Шаг 1: Создаем скрипт в текущей директории
bash
Copy
Download
cd ~/my-project
# Создаем простой скрипт bug-tracker
cat > bug-tracker << 'EOF'
#!/bin/bash
cd ~/my-project
BUGS_DIR="bugs"
mkdir -p "$BUGS_DIR"
case "$1" in
"new")
if [ -z "$2" ]; then
echo "Использование: ./bug-tracker new 'Заголовок бага'"
exit 1
fi
# Находим следующий ID
LAST_ID=$(ls "$BUGS_DIR"/*.md 2>/dev/null | grep -o '[0-9]\+' | sort -n | tail -1)
if [ -z "$LAST_ID" ]; then
NEXT_ID=1
else
NEXT_ID=$((LAST_ID + 1))
fi
ID=$(printf "%03d" $NEXT_ID)
# Создаем имя файла
TITLE="$2"
FILENAME="$ID-${TITLE// /-}.md"
FILE="$BUGS_DIR/$FILENAME"
# Создаем баг
cat > "$FILE" << BUG
# Баг #$ID: $TITLE
**Статус:** Открыт
**Автор:** $(git config user.name)
**Дата:** $(date +"%d.%m.%Y %H:%M")
## Описание
## Шаги воспроизведения
1.
2.
## Комментарии
BUG
echo "✅ Создан баг #$ID: $FILE"
# Синхронизируем
git add "$FILE"
git commit -m "Добавлен баг #$ID: $TITLE"
git push origin master
;;
"ls")
echo "📋 Список багов:"
for file in "$BUGS_DIR"/*.md; do
if [ -f "$file" ]; then
ID=$(basename "$file" | cut -d'-' -f1)
TITLE=$(grep "^# Баг" "$file" | head -1 | cut -d':' -f2 | xargs)
echo " $ID: $TITLE"
fi
done
;;
"show")
if [ -n "$2" ]; then
FILE="$BUGS_DIR/$2"*.md
if [ -f "$FILE" ]; then
cat "$FILE"
else
echo "Баг $2 не найден"
fi
else
echo "Использование: ./bug-tracker show <ID>"
fi
;;
*)
echo "🐛 Система отслеживания багов"
echo ""
echo "Команды:"
echo " ./bug-tracker new 'Заголовок' - Создать баг"
echo " ./bug-tracker ls - Список багов"
echo " ./bug-tracker show <ID> - Показать баг"
;;
esac
EOF
# Даем права на выполнение
chmod +x bug-tracker
Шаг 2: Тестируем скрипт
bash
Copy
Download
# Создаем тестовый баг
./bug-tracker new "Ошибка компиляции проекта"
# Смотрим список багов
./bug-tracker ls
# Смотрим детали бага
./bug-tracker show 001
Шаг 3: Создаем упрощенную версию для быстрого старта
bash
Copy
Download
# Создаем простейший скрипт bug.sh
cat > bug.sh << 'EOF'
#!/bin/bash
cd ~/my-project
case "$1" in
"new")
ID=$(($(ls bugs/*.md 2>/dev/null | wc -l) + 1))
ID=$(printf "%03d" $ID)
FILE="bugs/$ID-$2.md"
cat > "$FILE" << BUG
# Баг #$ID: $2
Дата: $(date)
Автор: $(whoami)
Описание:
BUG
echo "Создан баг: $FILE"
git add "$FILE"
git commit -m "Баг #$ID"
git push origin master
;;
"list")
ls bugs/*.md 2>/dev/null | while read f; do
echo "$(basename $f): $(head -1 $f)"
done
;;
*)
echo "Использование:"
echo " ./bug.sh new 'Заголовок'"
echo " ./bug.sh list"
;;
esac
EOF
chmod +x bug.sh
Шаг 4: Проверяем создание бага
bash
Copy
Download
# Пробуем создать баг
./bug.sh new "Тестовый баг для проверки"
# Если не работает, пробуем простой вариант
echo "Создаем баг вручную..."
# Создаем баг вручную
ID=$(($(ls bugs/*.md 2>/dev/null | wc -l) + 1))
ID=$(printf "%03d" $ID)
FILE="bugs/$ID-ручной-тест.md"
cat > "$FILE" << EOF
# Баг #$ID: Ручной тест
Дата: $(date)
Автор: alensav
Описание: Проверка работы системы багов
EOF
echo "Создан баг: $FILE"
# Коммитим и пушим
git add bugs/
git commit -m "Добавлен баг #$ID"
git push origin master
Шаг 5: Проверяем на Orange PI
На Orange PI:
bash
Copy
Download
cd ~/my-project
# Получаем обновления
git pull origin master
# Смотрим баги
ls -la bugs/
# Создаем простой скрипт для просмотра
cat > view-bugs << 'EOF'
#!/bin/bash
echo "Список багов:"
for file in bugs/*.md; do
if [ -f "$file" ]; then
echo "=== $(basename $file) ==="
cat "$file"
echo
fi
done
EOF
chmod +x view-bugs
./view-bugs
Шаг 6: Финальная простейшая система
Если скрипты сложны, используем ручное управление:
bash
Copy
Download
# Просто создаем файлы вручную когда нужно
# На главном компьютере:
echo "Создание бага:"
echo "1. Создайте файл в папке bugs/"
echo "2. Добавьте описание"
echo "3. git add bugs/ && git commit && git push"
# Пример:
cat > bugs/002-сетевая-проблема.md << EOF
# Баг #002: Сетевая проблема
Дата: $(date)
Статус: Открыт
Описание: Устройства не видят друг друга в сети
EOF
git add bugs/
git commit -m "Добавлен баг #002"
git push origin master
Пожалуйста, выполните команду ./bug-tracker new "Тестовый баг" и покажите результат. Если не сработает, создадим баг вручную.