[Erledigt] Ein und dasselbs device 2x umounten in Script mit while Schleife machbar ?

  • Hi,


    Will mir hier ein Script schreiben welches mein /dev/sdc1 sozusagen zwei oder mehrmals umountet


    Hintergrund is ganz einfach, ich hab hier ein device /dev/sdc1 welches ich einmal per fstab in das Verzeichnis /media/usb_hdd mounte
    aber diees device wird von irgendnem Automounter auch noch nach /media/sdc1 gemountet
    das stört eignetlich nicht weiter, aber ich hab mir hier angefangen ein Script zu schreiben welches mir unter Anderem darin nen umount des /dev/sdc1 macht
    , das Problem dabei is aber das dabei nur einmal umountet wird also in /media/usb_hdd is es dann weg aber in /media/sdc1 ist es immer noch da.


    Klar man könnte jetzt noch mal case oder ne if Abfrage einbauen um das device also nochmal zu umounten
    aber das sieht nicht so schön aus finde ich.


    Daher meine Frage müsste das nicht mit ner while Schleife klappen (die while Schleife wird doch solange abgearbeitet wie ne Bedingung erfüllt ist)
    das müsste dann doch klappen solange also /dev/sdc1 gemountet ist müsste eben umountet werden (die until Schleife sollte eventuell auch brauchbar sein dazu)
    aber ich habs probiert und nix brauchbares hinbekommen


    Hat da wer nen entscheidenden Tipp ?



    Gruss
    Bert

    Hardware: Intel Core i9-9900K, ASUS ROG Maximus XI Hero, MSI GeForce GTX 1050 Ti (vdpau), Dvbsky S952 V3 mit 2X DVB-S2 Tuner
    Multibootsystem (yavdr-ansible auf Ubuntu-20.04, Kubuntu-20.04 Focal Fossa, Win10)
    yavdr-ansible, Ausgabe über Nvidia vdpau

    Einmal editiert, zuletzt von Bert ()

  • Natürlich geht das, wo ist jetzt genau Dein Problem? Ich gehme mal von aus, dass Du scripten kannst.


    vdr-User-# 755 to_h264 chk_r vdr-transcode github

  • Hi jsffm,


    Zitat

    Natürlich geht das, wo ist jetzt genau Dein Problem?

    Nun das Problem is folgendes, erstmal so sieht das Script derzeit aus;


    Ich teste jetzt die until Schleife -> also wenn ich folgendes in die Shell eintippe;

    Code
    EXTERNAL_HDD="/dev/sdc1"
    MOUNT="$(/bin/mount | grep "$EXTERNAL_HDD" | awk '{print $1}')" > /dev/null 2>&1
    echo "$MOUNT"


    und es ist das device zweimal gemountet krieg ich diese Ausgabe;

    Code
    /dev/sdc1
    /dev/sdc1


    und damit klappt das dann nicht, da wird dann auch nix umountet.


    Umounte ich aber das device einmal so das es nur noch nach einen Mountpoint gemountet ist krieg ich ja nur diese Ausgabe;

    Code
    /dev/sdc1


    damit klappt dann das Umounten zwar aber ich krieg ne Melfdung zuviel in der Ausgabe nämlich das ABBRUCH, umount Fehlschlag

    Code
    Platte umountet
    ABBRUCH, umount Fehlschlag


    Das wär erstmal ja nicht so schlimm aber mein Hauptproblem is die Abfrage;

    Code
    MOUNT="$(/bin/mount | grep "$EXTERNAL_HDD" | awk '{print $1}')" > /dev/null 2>&1


    sobald da mehr als einmal das /dev/sdc1 rauskommt klappt nix also wie im Beispiel oben zu sehen das;

    Code
    /dev/sdc1
    /dev/sdc1

    .


    Gruss
    Bert

    Hardware: Intel Core i9-9900K, ASUS ROG Maximus XI Hero, MSI GeForce GTX 1050 Ti (vdpau), Dvbsky S952 V3 mit 2X DVB-S2 Tuner
    Multibootsystem (yavdr-ansible auf Ubuntu-20.04, Kubuntu-20.04 Focal Fossa, Win10)
    yavdr-ansible, Ausgabe über Nvidia vdpau

  • Das wär erstmal ja nicht so schlimm aber mein Hauptproblem is die Abfrage;

    Code
    MOUNT="$(/bin/mount | grep "$EXTERNAL_HDD" | awk '{print $1}')" > /dev/null 2>&1


    sobald da mehr als einmal das /dev/sdc1 rauskommt klappt nix also wie im Beispiel oben zu sehen das;

    grep -m1


    Christian

  • Hi,
    mach doch mal so:



    ohne jetzt weiter über Sinn oder Unsinn der Gesamtaktion nachzudenken....


    Gruß
    msv

  • Hi All,


    Danke für die vielen Tipps :] -> mit denen wird das dann schon klappen !


    msv

    Zitat

    ohne jetzt weiter über Sinn oder Unsinn der Gesamtaktion nachzudenken....


    Das is auch nur ein Ausschnitt des Scripts eben zur until Schleife gewesen denn das soll natürlich schon noch mehr tun


    @Morone

    Zitat

    Beschaeftige dich doch lieber mit deinem Automounter.


    Normalerweise kann man sich das selber einstellen an welchem Punkt oder was sie mounten,


    ansonsten wuerde ich ihn doch von der Platte fegen.

    Du hast schon recht normalerweise würd ich das so auch tun, aber mich hat halt auch die Lösung in nem Script zu so nem Fall mit mehreren Mounts des selben devices interessiert.


    Gruss
    Bert

    Hardware: Intel Core i9-9900K, ASUS ROG Maximus XI Hero, MSI GeForce GTX 1050 Ti (vdpau), Dvbsky S952 V3 mit 2X DVB-S2 Tuner
    Multibootsystem (yavdr-ansible auf Ubuntu-20.04, Kubuntu-20.04 Focal Fossa, Win10)
    yavdr-ansible, Ausgabe über Nvidia vdpau

  • ja, das ist schön kurz, aber am Thema knapp vorbei. Sein Problem war doch, ne Liste mit mehreren Ergebnissen abzuarbeiten. Deine Lösung sorgt gut für den umount, aber er wollte, glaube ich, doch etwas ausschweifenderes für die universellen Probleme des Lebens.


    Gruss
    msv

  • Hi All,


    Nochmals Danke an Alle hier für Eure Tipps ! :] es klappen natürlich alle Varianten
    wobei ich derzeit die hier (von FireFly) bevorzuge;


    Aber es is immer auch gut zu wissen das da mehrere Varianten gleich gut funktionieren.


    Das (aus dem Post drei von oben);

    Zitat

    damit klappt dann das Umounten zwar aber ich krieg ne Melfdung zuviel in der Ausgabe nämlich das ABBRUCH, umount Fehlschlag

    is mir auch klar, da die Schleife ja nirgends mal beendet wird läuft die immer weiter wo dann zwangsläufig mal das else greift
    und somit kommts zu ABBRUCH, umount Fehlschlag



    Gruss
    Bert

    Hardware: Intel Core i9-9900K, ASUS ROG Maximus XI Hero, MSI GeForce GTX 1050 Ti (vdpau), Dvbsky S952 V3 mit 2X DVB-S2 Tuner
    Multibootsystem (yavdr-ansible auf Ubuntu-20.04, Kubuntu-20.04 Focal Fossa, Win10)
    yavdr-ansible, Ausgabe über Nvidia vdpau

    3 Mal editiert, zuletzt von Bert ()

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!