如何解决Mac OSX 将 smb 从脚本挂载到 /Volumes
我可以使用以下命令将 smb 共享挂载到 /Volumes
osascript -e "mount volume \"smb://user:pass@hal/share\""
但这只有在我已经登录到 Mac 时才有效,否则我会收到“无法建立到 WindowServer 的默认连接”错误。
我可以使用 mount 命令挂载到我的主目录中的一个文件夹,无论我是否登录,它都可以工作:
mkdir ~/test
mount -t smbfs //user:pass@hal/share ~/test
但是我不能用 /Volumes 来做这件事,因为它归 root 所有。 osascript 调用如何获得写入 root 拥有的文件夹的权限,以及如何在不使用 AppleScript 的情况下执行相同的操作?
谢谢
解决方法
回答我自己的问题:
最初我使用的 AppleScript 是:
osascript -e 'tell application "Finder" to mount volume "smb://user:pass@hal/share"'
这给出了一个不同的错误,当用户没有登录时挂载失败:
29:78: execution error: An error of type -610 has occurred. (-610)
我在撰写此问题时发现了不使用 Finder 的更简单版本:
osascript -e ‘mount volume "smb://user:pass@hal/share”’
正如我所说,当用户尚未登录时,这也会出错:
_RegisterApplication(),FAILED TO establish the default connection to the WindowServer,_CGSDefaultConnection() is NULL.
但它确实在 /Volumes 中安装了网络共享,所以我可以使用它并忽略错误。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。