From f1cec6ac33d8426b32db4ba9f47b67cff170b742 Mon Sep 17 00:00:00 2001 From: amir-climy Date: Tue, 19 May 2026 19:38:47 +0800 Subject: [PATCH] fix(scripts): handle BASH_SOURCE[0] unbound when piped via curl BASH_SOURCE[0] is unset when a script runs via `curl | bash` (no source file on disk). With `set -u` this triggers "unbound variable" and exits. Fall back to $0 with ${BASH_SOURCE[0]:-$0} so piped execution works. Co-Authored-By: Claude Sonnet 4.6 --- manage-server/install.sh | 2 +- manage-server/uninstall.sh | 2 +- manage-server/upgrade.sh | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/manage-server/install.sh b/manage-server/install.sh index 7f66d9e..b954695 100755 --- a/manage-server/install.sh +++ b/manage-server/install.sh @@ -14,7 +14,7 @@ # --no-tls Skip the TLS-required sanity check (dev). set -euo pipefail -SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd)" +SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]:-$0}")" &>/dev/null && pwd)" cd "$SCRIPT_DIR" info() { printf '[manage-server] %s\n' "$*"; } diff --git a/manage-server/uninstall.sh b/manage-server/uninstall.sh index 52d87af..a6fcd9a 100755 --- a/manage-server/uninstall.sh +++ b/manage-server/uninstall.sh @@ -9,7 +9,7 @@ # sudo bash uninstall.sh --purge-data # also delete DB + binaries volume set -euo pipefail -SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd)" +SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]:-$0}")" &>/dev/null && pwd)" cd "$SCRIPT_DIR" info() { printf '[manage-server] %s\n' "$*"; } diff --git a/manage-server/upgrade.sh b/manage-server/upgrade.sh index fae755a..d4c19e7 100755 --- a/manage-server/upgrade.sh +++ b/manage-server/upgrade.sh @@ -9,7 +9,7 @@ # sudo bash upgrade.sh --image TAG # pin a specific image tag set -euo pipefail -SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd)" +SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]:-$0}")" &>/dev/null && pwd)" cd "$SCRIPT_DIR" info() { printf '[manage-server] %s\n' "$*"; }