setup.sh: fix read for piped mode — detect non-interactive and skip prompt
This commit is contained in:
@@ -34,6 +34,12 @@ if ! command -v curl &> /dev/null; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Detect interactive vs piped mode
|
||||||
|
INTERACTIVE=true
|
||||||
|
if [ ! -t 0 ]; then
|
||||||
|
INTERACTIVE=false
|
||||||
|
fi
|
||||||
|
|
||||||
# Check for Docker
|
# Check for Docker
|
||||||
DOCKER_INSTALLED=false
|
DOCKER_INSTALLED=false
|
||||||
if command -v docker &> /dev/null; then
|
if command -v docker &> /dev/null; then
|
||||||
@@ -68,7 +74,8 @@ echo "Data: SQLite database is stored in a Docker named volume."
|
|||||||
echo " Use 'docker compose down -v' to DELETE the database."
|
echo " Use 'docker compose down -v' to DELETE the database."
|
||||||
echo ""
|
echo ""
|
||||||
|
|
||||||
# Confirm
|
# Confirm (skip in non-interactive/piped mode)
|
||||||
|
if [ "$INTERACTIVE" = "true" ]; then
|
||||||
echo -n "Continue? [Y/n]: "
|
echo -n "Continue? [Y/n]: "
|
||||||
read -r CONFIRM
|
read -r CONFIRM
|
||||||
CONFIRM=${CONFIRM:-Y}
|
CONFIRM=${CONFIRM:-Y}
|
||||||
@@ -76,6 +83,11 @@ if [ "$CONFIRM" != "Y" ] && [ "$CONFIRM" != "y" ]; then
|
|||||||
echo "Aborted."
|
echo "Aborted."
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
else
|
||||||
|
echo "(Running in non-interactive mode — proceeding automatically)"
|
||||||
|
echo "To interactively confirm, run: curl -sL ... | bash"
|
||||||
|
echo ""
|
||||||
|
fi
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "=== Starting deploy ==="
|
echo "=== Starting deploy ==="
|
||||||
|
|||||||
Reference in New Issue
Block a user