#!/bin/bash # Prüfen, ob Root if [ "$EUID" -ne 0 ]; then echo "Bitte als Root ausführen (sudo)" exit 1 fi # Skripte (Name -> URL) declare -A SCRIPTS SCRIPTS["Host & SSD Seriennummern"]="https://gitea.vmd55888.de/manuel.maier/pve-pbs-setup/raw/branch/main/get_sn.sh" SCRIPTS["Set PVE-Mail"]="https://gitea.vmd55888.de/manuel.maier/pve-pbs-setup/raw/branch/main/setup-email-pve.sh" SCRIPTS["Set PBS-Mail"]="https://gitea.vmd55888.de/manuel.maier/pve-pbs-setup/raw/branch/main/setup-email-pbs.sh" SCRIPTS["Externe Analyse"]="https://example.com/remote_script.sh" # Reihenfolge festlegen ORDER=("Host & SSD Seriennummern" "Set PVE-Mail" "Set PBS-Mail" "Externe Analyse") # Menü starten while true; do echo "====================================" echo " POST-INSTALL INTERNET TOOLBOX" echo "====================================" echo "Wähle ein Script zum Ausführen:" # Skripte nummerieren in der festen Reihenfolge i=1 declare -A INDEX_MAP for key in "${ORDER[@]}"; do echo "$i) $key" INDEX_MAP[$i]="$key" ((i++)) done echo "0) Beenden" echo -n "Auswahl: " read -r choice # Beenden if [ "$choice" == "0" ]; then echo "Bye! 👋" exit 0 fi # Prüfen ob gültig if [[ "$choice" =~ ^[0-9]+$ ]] && [ "$choice" -ge 1 ] && [ "$choice" -lt "$i" ]; then key="${INDEX_MAP[$choice]}" url="${SCRIPTS[$key]}" echo "------------------------------------" echo "Lade Script: $key" echo "Von: $url" echo "------------------------------------" tmpfile=$(mktemp) curl -sSL "$url" -o "$tmpfile" if [ ! -s "$tmpfile" ]; then echo "Fehler beim Download!" rm -f "$tmpfile" read -r -p "Enter drücken für Menü..." continue fi bash "$tmpfile" rm -f "$tmpfile" echo "------------------------------------" echo "Fertig! Drücke Enter für Menü..." read -r else echo "Ungültige Auswahl! Bitte erneut versuchen." fi done