【发布时间】:2014-11-10 22:04:59
【问题描述】:
我正在开发一个可以自动对数据集进行多机处理的应用程序。
从主计算机 (192.168.1.2) 中,用户选择要处理的文件/文件夹。
然后与 LAN 网络上的所有从属计算机共享确切的文件路径。
只要文件在本地驱动器上,一切都很好,共享文件路径如下所示:
afp://192.168.1.2/Volumes/LOCAL_DRIVE/Projects/file.zip
但如果用户选择存储在 AFP 安装驱动器(例如 NAS)上的文件,我将无法检索完整的文件路径。
所以我可以得到挂载的文件路径:
/Volumes/NAS/Documents/file.zip
我可以获得已安装驱动器的列表:
mbp:~ myself$ mount
/dev/disk0s2 on / (hfs, local, journaled)
devfs on /dev (devfs, local, nobrowse)
/dev/disk1s2 on /Volumes/LOCAL_DRIVE (hfs, local, journaled)
map -hosts on /net (autofs, nosuid, automounted, nobrowse)
map auto_home on /home (autofs, automounted, nobrowse)
localhost:/ndtfxrIYDV1dU5kiwHMwAy on /Volumes/MobileBackups (mtmfs, nosuid, read-only, nobrowse)
//AdminNas@NAS._afpovertcp._tcp.local/NAS on /Volumes/NAS (afpfs, nodev, nosuid, mounted by myself)
//AdminUser@Remote_MacPro._afpovertcp._tcp.local/DATA on /Volumes/DATA (afpfs, nodev, nosuid, mounted by myself)
我正在寻求帮助以将这些信息解析为:
- 测试文件是否被 AFP 挂载
- 如果为真,则提取 URL (afp://NAS._afpovertcp._tcp.local/NAS/Documents/file.zip)
有什么线索吗?
+加分点:检索网络卷的IP地址!
【问题讨论】:
-
可能是您自己的版本,“stat -f --format=%t /path”可能是一个选项。它提供了一种文件系统类型。您也许可以使用它来确定位置,而无需查看已安装的驱动器列表。
-
谢谢!我能用
stat做的最好的事情就是提取神秘的“设备号”。示例:mbp:~ myself$ stat -f "%d" /Volumes/NAS给了我771751941。我仍然想不出一种方法来逆向工程卷+ AFP 地址:(
标签: macos bash unix applescript filepath