У керівництві mountpoint
сказано, що це:
перевіряє, чи вказаний вказаний каталог чи файл у файлі / proc / self / mountinfo.
У керівництві mount
сказано, що:
Режим списку підтримується лише для зворотної сумісності. Для більш надійного та настроюваного виводу використовуйте findmnt (8), особливо у ваших скриптах.
Отже, правильно використовувати командуfindmnt
, яка сама по собі є частиною util-linux
пакету і, згідно з інструкцією:
може шукати в / etc / fstab, / etc / mtab або / proc / self / mountinfo
Отже, він насправді шукає більше речей, ніж mountpoint
. Він також надає зручний варіант:
-M, - шлях точки монтування
Явно визначте файл або каталог точки монтування. Див. Також --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/ # 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"