J'ai besoin d'un moyen indépendant de la plate-forme et léger de détecter le type de montage de mon CWD. Plus précisément, je dois déterminer si mon CWD se trouve dans un montage SSHFS, NFS, CIFS, SMB ou un magasin de blocs local.
Je dois le faire sur Mac OSX 10.6, 10.7 et RHEL5 (au minimum).
Il existe une possibilité d'utiliser df, mais df se comporte très différemment sur ces deux plates-formes. De plus, je devrais gratter sa sortie CLI avec awk, qui tout en étant réalisable est ... fragile.
Ces informations doivent être disponibles à un certain niveau. Existe-t-il un outil que je ne connais pas qui pourrait me fournir ces informations?
la source
Vous pouvez utiliser GNU stat sur Linux:
la source
Sous Linux, findmnt est disponible depuis util-linux 2.18.
la source
Je ne l'ai pas testé, mais
df -P
devrait se comporter de la même manière sur la plupart des plateformes.Cela fonctionne sous Linux.
Ou le décomposer en fonctions réutilisables:
Et en appelant la fonction:
Pourrait être réécrit pour être légèrement plus rapide en utilisant
sed
ouawk
, mais cette façon est probablement plus facile à lire.Si cela ne fonctionne pas, vous pouvez essayer quelque chose de similaire, mais en utilisant
/etc/mtab
plutôt que la sortie demount
.la source
P
endf -P
est pour Posix, il doit se comporter de la même manière. Cependant, passer du chemin du système de fichiers au point de montage est plus compliqué.