Question

J'ai un script bash qui traite des fichiers sous Mac OS X 10.5 et 10.6. Il doit maintenant déterminer si les fichiers sont sur un volume local ou un volume AFP distant. Tous les points de montage sont /Volumes sous Mac OS X, mais je ne vois aucune différence entre les volumes locaux et distants, au moins avec ls -al (sauf pour le volume de démarrage, qui est un lien symbolique vers /).

Y at-il un moyen de programatically, esp. quelque chose qui peut être facilement appelé à partir d'un script bash (I vraiment ne veulent pas réécrire cela en C / Obj-C avec OS API spécifiques X, sauf si absolument nécessaire), pour déterminer la source ou le type d'un point de montage? Même ce dispositif un volume des cartes à (en supposant des volumes montés avec mount_afp, mount_smbfs, mount_webdav, etc., ne pointera vers un appareil en /dev) donc j'ai certains de deviner si façon il est local ou pas?

Était-ce utile?

La solution

Du haut de ma tête, je ne crois pas qu'il y ait une API pour ce qui est commun à travers les plates-formes. Vous pouvez, analyser cependant la sortie de la commande mount:

~$ mount
/dev/disk0s2 on / (hfs, local, journaled)
devfs on /dev (devfs, local, nobrowse)
map -hosts on /net (autofs, nosuid, automounted, nobrowse)
map auto_home on /home (autofs, automounted, nobrowse)
/dev/disk1s2 on /Users/nknight (hfs, local, nodev, nosuid, journaled, nobrowse)

mount sans arguments a à peu près le même effet sur la plupart des systèmes * nix-ish, mais je ne crois pas que le format de sortie est normalisé partout.


Je vous encourage à repenser votre approche, cependant. Le point entier de systèmes de fichiers réseau est que les applications ne sont pas censés prendre soin d'eux. Songez à afficher une autre question expliquant ce que vous essayez d'accomplir en faisant cela. Quelqu'un peut-il offrir une solution probablement supérieure et plus généralisée.

Autres conseils

Est-ce que la plaine

$ mount

commande sans args supplémentaires vous dire ce que vous avez besoin?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top