สิ่งเหล่านี้ไม่เป็นไปตามกรณีการใช้งานซึ่งไดเรกทอรีที่กำหนดเป็นไดเรกทอรีย่อยภายในจุดเชื่อมต่ออื่น ตัวอย่างเช่นคุณอาจมี / สิ่งซึ่งเมาท์ NFS ไปยังโฮสต์: / real_thing การใช้ grep เพื่อจุดประสงค์นี้ใน / proc / mounts / etc / mtab หรือ 'mount' จะไม่ทำงานเพราะคุณจะมองหาจุดเมานต์ที่ไม่มีอยู่ ตัวอย่างเช่น / Things / thingy ไม่ใช่จุดเชื่อมต่อ แต่ / Things ถูกเมาท์บนโฮสต์: / real_thing คำตอบที่ดีที่สุดที่ลงคะแนนไว้ที่นี่ไม่ใช่ "วิธีที่ดีที่สุดในการตรวจสอบว่ามีการติดตั้งไดเรกทอรี / volumne" หรือไม่ ฉันต้องการให้คะแนนโดยใช้ 'df -P' (โหมดมาตรฐาน -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 ผ่านทางไดเรกทอรีหรือรายการไฟล์โดยพลการ