正如Apple在macOS Sierra 10.12上回复了上面mattdwen的Open Radar链接中引用的票证一样,
您不能再在/ Volumes中创建项目,除非是root用户。
此外,我对AppleScript mount volume命令的最佳理解是它没有指定挂载点的方法,因此只能/Volumes
通过Finder的标准机制来挂载卷。因此,我认为您无法通过AppleScript做到这一点。
但是还有另一种方式。您可以使用下级mount
命令完成相同的操作:
mkdir -p ~/mnt
mount_smbfs "//my_username:my_password@my_hostname/share" ~/mnt
通过这种方式安装卷后,您应该会在桌面上看到一个正常的“卷”图标,并且~/mnt
当您通过Finder浏览用户目录时,该目录将显示为“共享”。
这种方法缺少的一件事是将登录凭据保存在钥匙串中。为此,您需要做更多的脚本编写。这样的事情。
保存密码:
security add-generic-password -a my_username -s my_hostname -w my_password
检索密码并挂载共享:
pass=$(security find-generic-password -a my_username -s my_hostname -w)
mount_smbfs "//my_username:${pass}@my_hostname/share" ~/mnt
注意:如果密码中包含特殊字符,则可能需要对其进行URL编码,如下所示:
pass='my !@#%%^& password'
pass=$(php -r "echo urlencode(\"$pass\");")
>>> my+%21%40%23%25%25%5E%26+password
/Volumes
仅将网络共享安装到根访问权限的文件夹,需要用户授权才能创建安装点。不幸的是,尽管我要在计算机上修改sudoers,但目前我还不知道要解决的问题。我在openradar.appspot.com/radar?id=4948585099558912上有一个Open Radar,然后 Apple确认它已被锁定。