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