micneu
Goto Top

Prüfen ob cdrom gemountet

Hallo Leute,

wie kann ich in der bash eine if abfrage machen die prüft ob eine cd/dvd gemountet ist?

ich habe schon mal ein wenig probiert:
mount /media/cdrom0 | [ $ -gt 0 ] ; echo "cdrom nicht gemountet"  
hier habe ich mir auch eine if abfrage gebaut nur weiß ich nicht wie ich das prüfe
#!/bin/sh
if [ ....... ]; then
        echo "CDROM nicht gemountet"  
        sleep 5
        break
else
        echo " cdrom ist gemountet"  
fi;
hoffe mir kann jemand helfen...
oder kann ich irgend wie prüfen ob ein medium eingelegt ist?

Content-ID: 130383

Url: https://administrator.de/contentid/130383

Ausgedruckt am: 24.11.2024 um 20:11 Uhr

TsukiSan
TsukiSan 27.11.2009 um 14:58:08 Uhr
Goto Top
Hallo micneu,
weiß nicht, ob ich dich richtig verstehe.?
Falls du abfragen möchtest, ob etwas in deinem CD-Laufwerk eingelegt ist, kannst du folgenden Script in Batch verweden:
@echo off
set LW=H:
rem Initialstate hermitteln
dir %LW% >NUL 2>NUL
set LWState=%errorlevel%
rem prüfung in Schleife (im 5s Intervall)
:loop
ping -n 5 localhost >NUL
dir %LW% >NUL 2>NUL
if %errorlevel% neq %LWState% (
set LWState=%errorlevel%
call:StCh%errorlevel%%LWState%
)
goto:loop

:StCh01 & rem CD eingelegt
echo CD wurde eingelegt
goto:loop

:StCh10 & rem CD ausgeworfen
echo CD wurde ausgeworfen
goto:loop

Gruss
Tsuki
kruemeltee
kruemeltee 30.11.2009 um 21:44:15 Uhr
Goto Top
@ TsukiSan: ich glaub Du hast Batch mit bash verwechselt. micneu will ein bash Programm (Linux Kommandozeile) haben, welches ein wenig anders ist als batch Programmierung unter Windows, aber trotzdem Danke face-smile

@ micneu:
Du könntest folgendes machen, einen normalen "Befehl" zum prüfen ob /dev/hdc bereits gemountet ist einer Variablen zuweisen und prüfen, ob diese leer ist, oder nicht,
#!/bin/bash

# Variable mounted "leer" setzen 
mounted=""  
# Mounted ggf. die Zeile aus "mount" übergeben, die /dev/hdc beinhaltet 
mounted=$(mount | grep "/dev/hdc")  

# prüfen ob die Variable leer ist
if [ ! "$mounted" = "" ]; then  
  echo "cd-rom Laufwerk wurde bereits gemountet"  
fi

gibt bestimmt noch bessere Lösungen, auf die Schnelle ist mir allerdings keine eingefallen!

Gruß
kruemeltee
TsukiSan
TsukiSan 01.12.2009 um 00:58:33 Uhr
Goto Top
ach, ich mag Montage nicht.
Du hast natürlich recht, ich hab am Thema vorbei geschrieben und nicht darauf geachtet, dass es hier um Bash geht.
Ich lass das Script aber trotzdem stehen, vielleicht braucht's mal jemand in Batch.

Gruss
Tsuki
micneu
micneu 02.12.2009 um 19:47:17 Uhr
Goto Top
danke, habe auch eine lösung....

#!/bin/sh
# Variablen deklarieren
SOURCE="/media/cdrom0"  
TEST1=$(less /etc/mtab | grep -c cdrom0)
TEST2="1"  

# Prueft ob CD gemountet ist
if [ "$TEST1" = "$TEST2" ]; then  
    echo " cdrom ist gemountet"  
else
    echo "CDROM nicht gemountet"  
    eject;
fi;
kruemeltee
kruemeltee 02.12.2009 um 20:19:39 Uhr
Goto Top
oh, über die mtab ... auch nicht schlecht!
Aber die Zeile mit "SOURCE" kannst Du Dir sparen face-smile

Trotzdem fein, daß Du auch eine Lösung hast!

Gruß kruemeltee
micneu
micneu 02.12.2009 um 21:09:06 Uhr
Goto Top
ja da gebe ich dir recht die zeile 03. hätte ich rausnehmen können
ist noch aus meinem script, da brauche ich sie....

gruß Michael