diff --git a/borg_info_anzeigen.sh b/borg_info_anzeigen.sh index 07510e5..751dd26 100755 --- a/borg_info_anzeigen.sh +++ b/borg_info_anzeigen.sh @@ -22,10 +22,27 @@ function list_archives() { } function show_archive_details() { - ARCHIVE=$(whiptail --inputbox "Gib den Namen des Archivs ein:" 8 40 --title "Borg Backup" 3>&1 1>&2 2>&3) - borg info "$REPO::$ARCHIVE" > /tmp/archive_info.txt 2>&1 - dialog --title "Details zu Archiv $ARCHIVE" --backtitle "Borg Backup" --scrollbar --textbox /tmp/archive_info.txt 25 80 - rm /tmp/archive_info.txt + # Liste der Archive abrufen und formatieren + ARCHIVES=$(borg list "$REPO" | awk '{print $1}') + + if [ -z "$ARCHIVES" ]; then + whiptail --msgbox "Keine Archive gefunden!" 8 40 --title "Fehler" + return + fi + + # Konvertiere die Liste in das Whiptail-Menüformat + OPTIONS=() + while read -r line; do + OPTIONS+=("$line" " ") + done <<< "$ARCHIVES" + + ARCHIVE=$(whiptail --title "Archiv auswählen" --menu "Wähle ein Archiv aus" 20 60 10 "${OPTIONS[@]}" 3>&1 1>&2 2>&3) + + if [ -n "$ARCHIVE" ]; then + borg info "$REPO::$ARCHIVE" > /tmp/archive_info.txt 2>&1 + dialog --title "Details zu Archiv $ARCHIVE" --backtitle "Borg Backup" --scrollbar --textbox /tmp/archive_info.txt 25 80 + rm /tmp/archive_info.txt + fi } # Hauptmenü mit Whiptail