#!/bin/bash # Datei mit Servernamen und IP-Adressen server_file="serverliste.csv" # Arrays für Servernamen und IP-Adressen initialisieren server_names=() ip_addresses=() # Datei einlesen und Arrays füllen while IFS="," read -r name ip; do server_names+=("$name") ip_addresses+=("$ip") done < <(tail -n +2 "$server_file") # Hauptmenü in einer Schleife anzeigen while true; do # Erzeuge die Einträge für das Whiptail-Menü menu_entries=() for i in "${!server_names[@]}"; do menu_entries+=("$i" "${server_names[i]} (${ip_addresses[i]})") done menu_entries+=("q" "Ende") # Zeige das Whiptail-Menü an gui_choice=$(whiptail --title "Serverauswahl" --menu "Wähle einen Server aus:" 20 78 10 "${menu_entries[@]}" 3>&1 1>&2 2>&3) # Überprüfe die Auswahl if [[ $? -ne 0 || "$gui_choice" == "q" ]]; then echo "Programm beendet." exit 0 fi # Verarbeite die Serverauswahl index=$gui_choice echo "Verbinde zu ${server_names[index]} (${ip_addresses[index]})..." ssh ${ip_addresses[index]} done