Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
per bash-script prüfen, ob laufwerk gemountet oder nicht

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Programmieren - Allgemein
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Stephan
Gast





BeitragVerfasst am: 22. Sep 2002 13:49   Titel: per bash-script prüfen, ob laufwerk gemountet oder nicht

Hallo zusammen !

Ich gebe es offen zu. In Sachen Bash-Programmierung bin ich ein Schwachmat Daher hier meine Anfrage.

ich möchte die Ausführung eines Scriptes davon abhängig machen, ob ein bestimtes Laufwerk gemountet ist.

so in etwa

if ($drive_mountet)
{
runscript;
}
else
{
echo "Laufwerk nicht gemountet !";
}


Wie kann ich das mit einem Bash-Script umsetzten ?

Danke ... Stephan !
 

scripter
Gast





BeitragVerfasst am: 22. Sep 2002 15:44   Titel: Re: per bash-script prüfen, ob laufwerk gemountet oder nicht

In `/proc/mounts' stehen doch alle gemounteten Dateisysteme. Das Format ist selbsterklärend bzw. fstab-like.
 

Stephan
Gast





BeitragVerfasst am: 22. Sep 2002 17:17   Titel: Re: per bash-script prüfen, ob laufwerk gemountet oder nicht

Hoi !

Das ist schonmal ein Hinweis, danke.
Allerdings kenne ich mich mit der Programmierung zu wenig aus, als das ich das selber hinbekommen würde.

Grüße, Stephan !
 

joergg



Anmeldungsdatum: 12.09.2002
Beiträge: 12
Wohnort: Naehe LM

BeitragVerfasst am: 22. Sep 2002 20:29   Titel: Re: per bash-script prüfen, ob laufwerk gemountet oder nicht

#!/bin/sh

if cat /proc/mounts | grep /dev/hda1 > /dev/null; then
echo "gemountet"
else
echo "nicht gemountet"
fi
exit 0

setze an /dev/hda1 ein mountpoint deiner wahl
 
Benutzer-Profile anzeigen Private Nachricht senden

scripter
Gast





BeitragVerfasst am: 22. Sep 2002 21:48   Titel: Re: per bash-script prüfen, ob laufwerk gemountet oder nicht

Wenn /dev/fd0 unter /mnt/dev/hda1 gemountet ist, sagt joersch's Script ebenfalls: /dev/hda1 ist gemountet ...
 

joergg



Anmeldungsdatum: 12.09.2002
Beiträge: 12
Wohnort: Naehe LM

BeitragVerfasst am: 23. Sep 2002 8:38   Titel: Re: per bash-script prüfen, ob laufwerk gemountet oder nicht

@scripter:

das script war als denkanstoss zu betrachten, wie diese sache einfach geloest werden koennte,
nicht als alle-eventualitaeten-abdeckendes-super-programm
ich vermisse allerdings in deinem posting deinen loesungsvorschlag

Gruss
 
Benutzer-Profile anzeigen Private Nachricht senden

Jochen
Gast





BeitragVerfasst am: 23. Sep 2002 10:01   Titel: Re: per bash-script prüfen, ob laufwerk gemountet oder nicht

Ein paar Kommentare meinerseits:

  • /proc/mounts würde ich nicht verwenden. Jeder User darf "mount" ohne Argumente aufrufen und erhält dann eine Liste der gemounteten Dateisysteme; das ist standardisiert und funktioniert so unter Solaris, HP-UX, AIX, *BSD und sogar unter Linux! Wer weiss, ob /proc/mounts in Linux 2.6 noch existiert...

  • <flame>Wann stirbt endlich dieses unsägliche "cat datei | kommando" aus? Ein einfaches "kommando < datei" ist im Endergebnis effektiver, da kein Prozess für das unnütze "cat" gestartet werden muss.</flame> Kein persönlicher Vorwurf, joersch, aber das musste mal raus... Wenn man wie o.a. portabel arbeitet, ersetzt man das cat auch nur durch ein mount, aber es würde ja auch niemand auf die Idee kommen, ein "mount | cat | grep" zu programmieren, oder?

  • scripter hat schon recht mit seinem Einwand, dass in dem Skript noch ein Problemchen drinne steckt, joersch mit seiner Antwort auch - nur keiner gibt dann die wirklich einfache Lösung vor? Also:
    code:
    #!/bin/sh

    if mount | grep '^/dev/hda1 ' >/dev/null 2>&1 ; then
    echo "gemountet"
    else
    echo "nicht gemountet"
    fi
    exit 0


    Also mount statt des "cat /proc/mounts" und einen korrekten Regulären Ausdruck zum grep, der nur Treffer ab Zeilenanfang (^) von /dev/hda1, gefolgt von einem Leerzeichen zulässt. Das Leerzeichen ist notwendig, damit ein gemountetes /dev/hda11 nicht zum Treffer wird.

    Na ja, habe ich mal wieder den Oberlehrer raushängen lassen... Sorry nochmals.

    Jochen
  •  

    joergg



    Anmeldungsdatum: 12.09.2002
    Beiträge: 12
    Wohnort: Naehe LM

    BeitragVerfasst am: 23. Sep 2002 10:49   Titel: Re: per bash-script prüfen, ob laufwerk gemountet oder nicht

    @jochen:

    wieder was dazugelernt: statt cat datei | grep xxx -> grep xxx < datei
    danke

    zu mount <-> cat /proc/mount : ich hatte schon den fall, das beide kommandos unterschiedliche ergebnisse ergaben: mount liest /etc/mtab aus, (versuche: echo "/dev/sdc5 /mnt ext3 rw 0 0 >> /etc/mtab" ; mount)
    mount muss also nix mit der wirklichen situation in deinem rechner zu tun haben (problem wie gesagt selbst gehabt, def. festplatte wurde immernoch angezeigt obwohl physikalisch umountet)
    daher meine tendenz zu /proc/mounts

    inzwischen duerfte stephan genuegend material zusammenhaben um was eigenes zu schreiben
    alle haben was gelernt (ich zumindestens), was ja sinn eines forums sein sollte, keine fertigen
    abschreib-loesungen sondern denkanstoesse,

    Danke Jörg
     
    Benutzer-Profile anzeigen Private Nachricht senden

    Jochen
    Gast





    BeitragVerfasst am: 23. Sep 2002 14:49   Titel: Re: per bash-script prüfen, ob laufwerk gemountet oder nicht

    Hmmmja, die (englische) Manual-Page zu mount(Cool geht auf den Unterschied von /proc/mounts und /etc/mtab ein. Prinzipiell hast Du ja recht, allerdings ist m.E. der Fall, dass /proc/mounts und /etc/mtab auseinanderlaufen, ziemlich pathologisch.

    So etwas kann passieren, wenn das root-Dateisystem read-only gemountet ist. Das bedeutet, dass man entweder mittels "init=/bin/sh" gebootet hat (init gelöscht?!?) oder der fsck einen auf die Shell geschmissen hat, weil er das root-FS nicht alleine reparieren kann. In beiden Fällen wird man erst mal kräftig Hand anlegen müssen, um das System wieder flott zu kriegen und sich nicht um irgendwelche User-Skripte kümmern, die erst wieder laufen, wenn die Kiste zur Gänze wieder flott ist.

    Und wie in Deinem Beispiel an der Datei händisch Änderungen vorzunehmen - na, das war halt ein Beispiel, nicht? Kein denkender Admin macht sowas an seinem System.

    Und zu guter letzt denke ich immer an die vielen Systeme, die statt einer /etc/mtab eine /etc/mnttab haben oder die gar kein /proc/mounts besitzen, auf denen aber "mount" immer die gewünschte Ausgabe liefert... Heterogene Netze bringen einen auch in der Skripterei ziemlich schnell dazu, immer den kleinsten gemeinsamen Nenner zu verwenden.

    Aber das ist alles Philosophie - beides geht, beides hat seine Berechtigung. Und Stephan hat sein Skript wahrscheinlich schon längst fertig.

    Jochen
     

    Stephan
    Gast





    BeitragVerfasst am: 24. Sep 2002 12:26   Titel: Re: per bash-script prüfen, ob laufwerk gemountet oder nicht

    Hallo zusammen

    Danke für die Hilfe. Werde das Script heute abend mal ausprobieren. Würde mir wirklich weiterhelfen

    Grüße ... Stephan !
     

    Stephan
    Gast





    BeitragVerfasst am: 26. Sep 2002 23:35   Titel: Re: per bash-script prüfen, ob laufwerk gemountet oder nicht

    Hallo zusammen !

    Habe das Script getestet und verwertet. Alles funktioniert prima
    Vielen Dank an alle Antwort-Geber

    Grüße, Stephan !
     

    Beiträge vom vorherigen Thema anzeigen:   
         Pro-Linux Foren-Übersicht -> Programmieren - Allgemein Alle Zeiten sind GMT + 1 Stunde
    Seite 1 von 1

     
    Gehen Sie zu:  

    Powered by phpBB © phpBB Group
    pro_linux Theme © 2004 by Mandaxy