Podręcznik mountpoint
mówi, że to:
sprawdza, czy podany katalog lub plik jest wymieniony w pliku / proc / self / mountinfo.
Podręcznik mount
mówi, że:
Tryb wyświetlania jest utrzymywany tylko w celu zachowania zgodności z poprzednimi wersjami. Aby uzyskać bardziej solidne i konfigurowalne dane wyjściowe, użyj findmnt (8), szczególnie w swoich skryptach.
Tak więc prawidłowe polecenie tofindmnt
, które samo jest częścią util-linux
pakietu i zgodnie z instrukcją:
może wyszukiwać w / etc / fstab, / etc / mtab lub / proc / self / mountinfo
Więc w rzeczywistości przeszukuje więcej rzeczy niż mountpoint
. Zapewnia również wygodną opcję:
-M, - ścieżka punktu montowania
Jawnie zdefiniuj plik lub katalog punktu podłączenia. Zobacz też --target.
Podsumowując, aby sprawdzić, czy katalog jest zamontowany za pomocą basha, możesz użyć:
if [[ $(findmnt -M "$FOLDER") ]]; then
echo "Mounted"
else
echo "Not mounted"
fi
Przykład:
mkdir -p /tmp/foo/{a,b}
cd /tmp/foo
sudo mount -o bind a b
touch a/file
ls b/
rm -f b/file
ls a/
[[ $(findmnt -M b) ]] && echo "Mounted"
sudo umount b
[[ $(findmnt -M b) ]] || echo "Unmounted"