Frage

Ich habe einen Skript bash die sich mit Dateien in Mac OS X 10.5 und 10.6 bekommt. Es muss nun feststellen, ob die Dateien auf einem lokalen Datenträger oder einen entfernten AFP-Volume sind. Alle Einhängepunkte sind in /Volumes auf Mac OS X, aber ich kann keinen Unterschied zwischen lokalen und Remote-Volumes, zumindest mit ls -al (mit Ausnahme des Kofferraumvolumen, das ein symbolischer Link auf / ist) sehen.

Gibt es eine Möglichkeit, um programmatisch, esp. etwas, das leicht von einem bash Skript aufgerufen werden kann (I wirklich nicht will, dies in C / Obj-C mit O X-spezifischer APIs neu zu schreiben, wenn es nicht unbedingt notwendig), um zu bestimmen, die source oder Typ eines einhängepunkt? Selbst welches Gerät ein Volumen abbildet (vorausgesetzt, Volumes mit mount_afp, mount_smbfs, mount_webdav, etc., werden nicht auf ein Gerät in /dev Punkt zurück), so habe ich einige Art und Weise zu raten, ob es sich um lokale oder nicht wahr?

War es hilfreich?

Lösung

Aus der Spitze von meinem Kopf, ich glaube nicht, dass es eine API für es, das plattformübergreifend gemeinsam ist. Sie könnten jedoch die Ausgabe des mount Befehl analysieren:

~$ 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 ohne Argumente hat in etwa die gleiche Wirkung auf den meisten * nix-ish-Systemen, obwohl ich nicht glaube, das Ausgabeformat überall standardisiert ist.


Ich möchte Sie ermutigen, Ihren Ansatz zu überdenken, aber. Der ganze Sinn der Netzwerk-Dateisysteme ist, dass Anwendungen nicht um sie kümmern soll. Betrachten Sie veröffentlichen eine andere Frage zu erklären, was Sie tun, um dies zu erreichen versuchen. Jemand kann wahrscheinlich bietet eine bessere und verallgemeinerte Lösung.

Andere Tipps

Ist die Ebene

$ mount

Befehl ohne zusätzliche args sagen Ihnen, was Sie brauchen?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top