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 -P
deberí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
sed
oawk
, pero de esta manera probablemente sea más fácil de leer.Si esto no funciona, puede intentar algo similar, pero utilizando en
/etc/mtab
lugar de la salida demount
.fuente
P
dedf -P
es 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.