Жоден із них не задовольняє випадок використання, коли даний каталог є підкаталогом в іншій точці монтажу. Наприклад, у вас може бути / річ, яка є кріпленням NFS для розміщення: / real_thing. Використання grep для цієї мети на / proc / mounts / etc / mtab або 'mount' не буде працювати, тому що ви будете шукати точку кріплення, яка не існує. Наприклад, / thing / thingy не є точкою кріплення, але / thing встановлено на хості: / real_thing. Найкраща відповідь, проголосована тут, насправді НЕ "найкращий спосіб визначити, чи встановлений каталог / об'єм". Я хотів би проголосувати, використовуючи 'df -P' (режим стандартних стандартів POSIX) як більш чисту стратегію:
dev=`df -P /thing/thingy | awk 'BEGIN {e=1} $NF ~ /^\/.+/ { e=0 ; print $1 ; exit } END { exit e }'` && {
echo "Mounted via: $dev"
} || {
echo "Not mounted"
}
Вихід від цього буде наступним:
Mounted via: host:/real_thing
Якщо ви хочете знати, що таке справжня точка монтажу, немає проблем:
mp=`df -P /thing/thingy | awk 'BEGIN {e=1} $NF ~ /^\/.+/ { e=0 ; print $NF ; exit } END { exit e }'` && {
echo "Mounted on: $mp"
} || {
echo "Not mounted"
}
Вихід з цієї команди буде:
Mounted on: /thing
Це все дуже корисно, якщо ви намагаєтесь створити якийсь chroot, який відображає дзеркала, розташовані за межами chroot, усередині chroot, через якийсь довільний каталог або список файлів.