diff --git a/install.sh b/install.sh index 3235beb..d4857e1 100755 --- a/install.sh +++ b/install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -set -e +set -Eeuo pipefail PROJECT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" @@ -10,17 +10,33 @@ echo " Debian 13 XFCE Admin Workstation Installer" echo "==============================================" echo -for script in "$PROJECT_DIR"/install/*.sh -do +FAILED=() + +chmod +x "$PROJECT_DIR"/install/*.sh + +for script in "$PROJECT_DIR"/install/*.sh; do echo echo "==============================================" echo "==> $(basename "$script")" echo "==============================================" - bash "$script" + + if bash "$script"; then + echo "✔ $(basename "$script") erfolgreich." + else + echo "✘ Fehler in $(basename "$script")" + FAILED+=("$(basename "$script")") + fi done echo echo "==============================================" -echo " Installation abgeschlossen!" -echo " Bitte einmal neu starten." + +if [ ${#FAILED[@]} -eq 0 ]; then + echo "Installation erfolgreich abgeschlossen." +else + echo "Folgende Skripte sind fehlgeschlagen:" + printf ' - %s\n' "${FAILED[@]}" + exit 1 +fi + echo "=============================================="