В руководстве mountpoint
говорится, что это:
проверяет, упоминается ли данный каталог или файл в файле / proc / self / mountinfo.
В руководстве mount
говорится, что:
Режим листинга поддерживается только для обратной совместимости. Для более надежного и настраиваемого вывода используйте findmnt (8), особенно в ваших скриптах.
Итак, правильная команда, которую следует использовать, -findmnt
это сама по себе часть util-linux
пакета и, согласно руководству:
может искать в / etc / fstab, / etc / mtab или / proc / self / mountinfo
Так что на самом деле он ищет больше вещей, чем mountpoint
. Также есть удобный вариант:
-M, --mountpoint путь
Явно определите файл или каталог точки монтирования. См. Также --target.
Таким образом, чтобы проверить, смонтирован ли каталог с помощью bash, вы можете использовать:
if [[ $(findmnt -M "$FOLDER") ]]; then
echo "Mounted"
else
echo "Not mounted"
fi
Пример:
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"