В инструкции 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
* * Пример тысяча сорок-одиной: * +1042 *
mkdir -p /tmp/foo/{a,b}
cd /tmp/foo
sudo mount -o bind a b
touch a/file
ls b/ # should show file
rm -f b/file
ls a/ # should show nothing
[[ $(findmnt -M b) ]] && echo "Mounted"
sudo umount b
[[ $(findmnt -M b) ]] || echo "Unmounted"