
Ich möchte prüfen, ob etwas gemountet ist oder nicht /mnt/MyCloud
. Ich habe Folgendes versucht:
if mountpoint -q /mnt/MyCloud; then
if mountpoint -q "/mnt/MyCloud"; then
- Bearbeiten:
if mount | grep /mnt/MyCloud > /dev/null; then
Beide gehen zu else
(gibt vermutlich „false“ zurück)
Wie kann man so etwas richtig überprüfen?
Antwort1
Gemäß der mountpoint
Manpage:
Beendigungsstatus
Null, wenn das Verzeichnis oder die Datei ein Einhängepunkt ist, andernfalls ungleich Null.
Anhand Ihres Snippets würde ich sagen, dass die Prüfung korrekt durchgeführt wurde. Außerdem habe ich es mit einem mountpoint
meiner Versuche versucht und es gibt das erwartete Ergebnis zurück.
#!/bin/bash
if mountpoint -q /home; then
echo "It's a mountpoint"
fi
Beim Ausführen gibt der Code die Phrase aus. Wenn dieses Verhalten bei Ihnen nicht auftritt, würde ich Folgendes tun:
- Überprüfen Sie, ob das enthaltene Paket
mountpoint
beschädigt ist. - Überprüfen Sie die
man
Seite Ihres Befehls. Der Rückgabecode kann je nach Distribution unterschiedlich sein. - Überprüfen Sie, ob esGenau genommenein Einhängepunkt. Sie können einen einfachen
mount
Befehl ausführen und prüfen, ob er unter den aktuell eingehängten Punkten aufgeführt ist. Beachten Sie, dass ein nicht eingehängter Punkt gemäß der Dokumentation einen Code ungleich Null zurückgibt, selbst wenn das Verzeichnis/die Datei vorhanden ist.