From 5d686e5ce773f7f5c010c92ef6f8c201539cb177 Mon Sep 17 00:00:00 2001 From: unfr Date: Wed, 13 Aug 2025 10:28:48 +0200 Subject: [PATCH] correction updater --- update.sh | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/update.sh b/update.sh index 56f7568..8ce42e2 100644 --- a/update.sh +++ b/update.sh @@ -1,4 +1,14 @@ #!/usr/bin/env bash + +# exiger bash, bloquer le "source" +[ -n "${BASH_VERSION:-}" ] || exec bash "$0" "$@" +(return 0 2>/dev/null) && { echo "❌ Ne source pas ce script, exécute-le: ./$0"; return 1; } + +# chemin canonique du script (robuste: ./script.sh, bash script.sh, via PATH, symlink…) +SCRIPT_SOURCE="${BASH_SOURCE[0]}" +SCRIPT_DIR="$(cd -- "$(dirname -- "$SCRIPT_SOURCE")" && pwd -P)" +SCRIPT_FILE="$SCRIPT_DIR/$(basename -- "$SCRIPT_SOURCE")" + set -Eeuo pipefail trap 'echo "❌ ERREUR ligne $LINENO: $BASH_COMMAND" >&2' ERR @@ -368,5 +378,11 @@ else ok "Configuration OK." fi -# (optionnel) auto-suppression -rm -- "$0" 2>/dev/null || true +# auto-suppression (désactivable via SKIP_SELF_DELETE=1) +if [ -z "${SKIP_SELF_DELETE:-}" ] && [ -f "$SCRIPT_FILE" ]; then + if rm -f -- "$SCRIPT_FILE"; then + ok "Script supprimé: $SCRIPT_FILE" + else + warn "Impossible de supprimer $SCRIPT_FILE (droits sur le dossier ?)" + fi +fi