fix: install.sh запускает меню сразу через /dev/tty
This commit is contained in:
17
install.sh
17
install.sh
@@ -1,21 +1,14 @@
|
||||
#!/usr/bin/env bash
|
||||
# install.sh — Docker Migrate Tool Installer
|
||||
# Запуск: wget -qO- https://giteas.stitch505.su/Stitch505/docker-migrate/raw/main/install.sh | bash
|
||||
# Потом запускать: docker-migrate
|
||||
#
|
||||
# Чтобы сразу запустить после установки (не через pipe):
|
||||
# curl -fsSL https://.../install.sh -o install.sh && bash install.sh --run
|
||||
# После установки сразу запустится интерактивное меню (если есть терминал).
|
||||
# Если терминала нет — выведет инструкцию.
|
||||
#
|
||||
set -e
|
||||
|
||||
REPO_URL="https://giteas.stitch505.su/Stitch505/docker-migrate"
|
||||
BRANCH="main"
|
||||
INSTALL_DIR="/opt/docker-migrate"
|
||||
RUN_IMMEDIATELY=false
|
||||
|
||||
if [ "$1" = "--run" ]; then
|
||||
RUN_IMMEDIATELY=true
|
||||
fi
|
||||
|
||||
log() { echo "[migrate-install] $*"; }
|
||||
|
||||
@@ -88,11 +81,13 @@ log "Установлено в $INSTALL_DIR"
|
||||
# Создаём symlink в /usr/local/bin
|
||||
ln -sf "$INSTALL_DIR/migrate" /usr/local/bin/docker-migrate 2>/dev/null || true
|
||||
|
||||
if [ "$RUN_IMMEDIATELY" = true ]; then
|
||||
if [ -e /dev/tty ]; then
|
||||
# Если есть терминал — запускаем migrate с перехваченным stdin
|
||||
log "Запускаем docker-migrate ..."
|
||||
cd "$INSTALL_DIR"
|
||||
exec python3 migrate "$@"
|
||||
exec < /dev/tty python3 migrate "$@"
|
||||
else
|
||||
# Нет терминала (pipe без tty) — показываем инструкцию
|
||||
echo ""
|
||||
echo "=========================================="
|
||||
echo "Установка завершена!"
|
||||
|
||||
Reference in New Issue
Block a user