feat(setup): add ./setup.sh update CLI mode
./setup.sh update (или --update) запускает git pull --ff-only + перегенерацию всех ai-* лаунчеров без интерактивного меню — то же, что пункт меню 7 (логика вынесена в общую do_update). Неизвестный аргумент печатает usage и выходит с кодом 1, без аргументов открывается меню как раньше. Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
35
setup.sh
35
setup.sh
@@ -18,6 +18,34 @@ mkdir -p "$HOME/.config/ai-setup"
|
||||
LOG="$HOME/.config/ai-setup/setup.log"
|
||||
_log() { printf '%s [%s] %s\n' "$(date '+%Y-%m-%d %H:%M:%S')" "$1" "$2" >> "$LOG"; }
|
||||
|
||||
# Обновление: git pull + перегенерация всех ai-* лаунчеров (пункт меню 7)
|
||||
do_update() {
|
||||
local repo_dir
|
||||
repo_dir="$(pwd)"
|
||||
echo -e "${BLD}Обновляем репозиторий...${CLR}"
|
||||
git -C "$repo_dir" pull --ff-only
|
||||
echo ""
|
||||
echo -e "${BLD}Перегенерация скриптов...${CLR}"
|
||||
bash "$repo_dir/scripts/ai-setup.sh"
|
||||
}
|
||||
|
||||
# CLI-режим: ./setup.sh update (или --update) — обновление без меню
|
||||
case "${1:-}" in
|
||||
update|--update)
|
||||
_log "setup" "update (CLI) на $(hostname)"
|
||||
do_update
|
||||
exit $?
|
||||
;;
|
||||
"")
|
||||
# без аргументов — интерактивное меню ниже
|
||||
;;
|
||||
*)
|
||||
echo "Неизвестный аргумент: $1"
|
||||
echo "Использование: ./setup.sh [update] — без аргументов открывается меню"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
if command -v whiptail >/dev/null 2>&1; then
|
||||
MENU_ARGS=()
|
||||
MENU_ARGS+=("1" "AI-инструменты (установить лаунчеры + ключи)")
|
||||
@@ -248,12 +276,7 @@ case "$choice" in
|
||||
bash tests/test_network.sh
|
||||
;;
|
||||
7)
|
||||
REPO_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
echo -e "${BLD}Обновляем репозиторий...${CLR}"
|
||||
git -C "$REPO_DIR" pull --ff-only
|
||||
echo ""
|
||||
echo -e "${BLD}Перегенерация скриптов...${CLR}"
|
||||
bash "$REPO_DIR/scripts/ai-setup.sh"
|
||||
do_update
|
||||
;;
|
||||
8)
|
||||
bash scripts/ai-setup.sh
|
||||
|
||||
Reference in New Issue
Block a user