diff --git a/Mount/HiDrive.sh b/Mount/HiDrive.sh index 4a95150..3e592a5 100755 --- a/Mount/HiDrive.sh +++ b/Mount/HiDrive.sh @@ -3,6 +3,7 @@ # === IMPORTS === SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" source "$SCRIPT_DIR/../Utility/WakeOnLan.sh" +source "$SCRIPT_DIR/../Utility/IsMounted.sh" source "$SCRIPT_DIR/../Utility/Log.sh" # === Hilfe-Seite === @@ -97,6 +98,14 @@ mount_webdav() { } # === HAUPTLOGIK === + +# Prüfen, ob das Dateisystem bereits gemountet ist +if is_mounted "$MOUNT_POINT"; then + echo "Das Dateisystem ist bereits gemountet unter $MOUNT_POINT." + exit 0 # Skript beenden, da kein weiteres Mounten erforderlich ist +fi + +# Wenn nicht gemountet, mit der Hauptlogik fortfahren log "Starte Wake-on-LAN-Prozess..." DEVICE_IP=$(wake_device "$DEVICE_MAC") diff --git a/Utility/IsMounted.sh b/Utility/IsMounted.sh new file mode 100644 index 0000000..c68ac47 --- /dev/null +++ b/Utility/IsMounted.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +is_mounted() { + local mount_point="$1" + if mount | grep -q "on $mount_point type"; then + return 0 # Bereits gemountet + else + return 1 # Nicht gemountet + fi +}