Mac OSX 从脚本将 smb 挂载到 /Volumes
Mac OSX mount smb to /Volumes from script
我可以使用以下方法将 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 执行此操作,因为它归根用户所有。 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 中安装了网络共享,因此我可以使用它并忽略错误。
我可以使用以下方法将 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 执行此操作,因为它归根用户所有。 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 中安装了网络共享,因此我可以使用它并忽略错误。