Necesito una forma liviana e independiente de la plataforma para detectar el tipo de montaje de mi CWD. Específicamente, necesito determinar si mi CWD está en un SSHFS, NFS, CIFS, SMB o montaje en bloque local.
Necesito hacer esto en Mac OSX 10.6, 10.7 y RHEL5 (como mínimo).
Existe la posibilidad de usar df, pero df se comporta de manera bastante diferente en estas dos plataformas. Además, tendría que CLI raspar su salida con awk, que si bien es viable ... es frágil.
Esta información debe estar disponible en algún nivel. ¿Hay alguna herramienta que desconozca que pueda proporcionarme esta información?
fuente

Puede usar GNU stat en Linux:
fuente
En Linux hay findmnt disponible desde util-linux 2.18.
fuente
No lo he probado, pero
df -Pdebería comportarse igual en la mayoría de las plataformas.Esto funciona en Linux.
O dividiéndolo en funciones reutilizables:
Y llamando a la función:
Podría reescribirse para ser un poco más rápido usando
sedoawk, pero de esta manera probablemente sea más fácil de leer.Si esto no funciona, puede intentar algo similar, pero utilizando en
/etc/mtablugar de la salida demount.fuente
Pdedf -Pes de POSIX, por lo que debe comportarse de la misma manera. Sin embargo, llegar desde la ruta del sistema de archivos al punto de montaje es más complicado.