C'è un modo per determinare il tipo di un punto di montaggio?
-
29-09-2019 - |
Domanda
Ho una sceneggiatura bash
che si occupa di file in Mac OS X 10.5 e 10.6. Si deve ora accertare se i file sono in un volume locale o un volume AFP remoto. Tutti i punti di montaggio sono in /Volumes
su Mac OS X, ma non riesco a vedere alcuna differenza tra i volumi locali e remoti, almeno con ls -al
(tranne che per il volume di avvio, che è un link simbolico a /
).
C'è un modo per programatically, esp. qualcosa che può essere facilmente chiamato da uno script bash
(I davvero non vogliono riscrivere questo in C / Obj-C con le API X-specifici del sistema operativo, se non assolutamente necessario), per determinare la fonte o il tipo di un punto di montaggio? Anche ciò che dispositivo un volume mappato (volumi assumendo montati con mount_afp
, mount_smbfs
, mount_webdav
, ecc, non puntare di nuovo ad un dispositivo in /dev
) quindi ho alcuni modo di indovinare se è locale o no?
Soluzione
Al largo della parte superiore della mia testa, non credo ci sia un'API per esso che è comune tra le piattaforme. Si potrebbe, tuttavia analizzare l'output del comando 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
senza argomenti ha all'incirca lo stesso effetto sulla maggior parte dei sistemi * nix-ish, anche se non credo che il formato di output è standardizzato da nessuna parte.
Vi incoraggio a ripensare il tuo approccio, tuttavia. Il punto di filesystem di rete è che le applicazioni non sono tenuti a prendersi cura di loro. Prendere in considerazione la pubblicazione un'altra domanda spiegando che cosa si sta cercando di realizzare in questo modo. Qualcuno probabilmente può offrire una soluzione superiore e più generalizzata.
Altri suggerimenti
Lo pianura
$ mount
comando senza args aggiuntivi ti dicono quello che ti serve?