Sprawdź, czy coś jest zamontowane

1

Chcę sprawdzić, czy coś jest zamontowane lub nie /mnt/MyCloud. Próbowałem:

  • if mountpoint -q /mnt/MyCloud; then
  • if mountpoint -q "/mnt/MyCloud"; then
  • Edytować: if mount | grep /mnt/MyCloud > /dev/null; then

Oboje idą do else (zwraca fałsz, chyba)

Jaki jest właściwy sposób sprawdzenia takiej rzeczy?

Amit
źródło

Odpowiedzi:

1

Zgodnie z mountpoint strona man:

STATUS WYJŚCIA

Zero, jeśli katalog lub plik jest punktem montowania, niezerowy, jeśli nie.

Według twojego fragmentu powiedziałbym, że sprawdzenie jest wykonane poprawnie. Ponadto wypróbowałem go za pomocą mountpoint mój i zwraca to, czego się oczekuje.

#!/bin/bash

if mountpoint -q /home; then
  echo "It's a mountpoint"
fi

Po uruchomieniu kod drukuje frazę. Jeśli nie masz takiego zachowania, to:

  • Sprawdź, czy opakowanie, które zawiera mountpoint jest skorumpowany.
  • Sprawdź man strona twojego polecenia. Kod powrotu może się różnić między różnymi dystrybucjami.
  • Sprawdź, czy tak tak właściwie punkt montowania. Możesz uruchomić nagiego mount polecenie i sprawdź, czy znajduje się na liście aktualnie zamontowanych punktów. Zauważ, że nie zamontowany punkt zwróci niezerowy kod zgodnie z dokumentacją, nawet jeśli katalog / plik istnieje.
nKn
źródło
Dzięki! Wygląda na to, że nie jest to punkt montowania. Uruchomiłem ten skrypt - github.com/Zacho2/PiCloud/blob/master/picloud.sh - linie 40-44 montują mój NAS do / mnt / MyCloud, i jeśli przejdę do / mnt / MyCloud i utworzę plik, to utworzy go na NAS, więc nie jestem pewien, dlaczego „zamontuj” go nie wyświetla.
Amit
1
Po szybkim obejrzeniu kodu dołącza linię do /etc/fstab plik, ale go nie montuje. Musisz go zamontować ręcznie, określając punkt montowania za pomocą mount /mnt/MyCloud lub montując wszystkie swoje punkty mount -a.
nKn
Ok, więc mount -a jest droga, niestety, urządzenie jest zajęte i używane przez PID kernel, więc nie będzie się montować
Amit