在没有GUI绒毛的/ Volumes下挂载Samba共享


6

我知道我可以使用终端shell中的任何一个mountopen命令来挂载Samba共享。请参阅此相关问题:如何从命令行安装SMB共享?。我更喜欢使用,open因为它安装了共享文件夹,在/Volumes该文件夹下似乎是OS X标准,预期的东西。即通过输入发生这种情况

open "smb://guest:@${host}/${path_component}"

${host}Samba共享的主机名或IP地址在哪里,是Samba共享${path_component}的路径或“名称”)。结果和主要的是我可以访问的东西/Volumes/${path_component}。这确实非常好。只是在脚本中有两个问题或麻烦。首先是这将打开一个多余的进度指示器,然后是Finder窗口。第二个是较小的一个,因为有可编写脚本的解决方法,即命令立即返回而不等待挂载真正可用。

有没有办法(同步)挂载Samba共享下/Volumes没有多余的窗口弹出?

(我使用的是最新的OS X(Sierra)。)

Answers:


11

以下是我用来挂载Samba共享的方法launchd

/usr/bin/osascript -e "try" -e "mount volume \"smb://guest@${host}\"" -e "end try"

使用osascript's mount表示keychain所需的任何访问都是“自动完成”,没有进度指示器或Finder窗口,并且命令在继续之前等待挂载可用(尝试&& echo -n "Done."; mount附加到上面命令的末尾以测试它)。


1
OSA脚本?这是一些奇怪的东西,但它的工作方式就像我想要的那样!谢谢!
FooF '17

@FooF osascript是AppleScript的命令行界面。
2017年

完善。对于需要身份验证的股票,你可以替换smb://guest@$host使用smb://username:password@$host在上面的命令。
mivk

喜欢这个答案,但现在......我的smb分享已经改变了主机..我们如何更新这个脚本?另外,不确定这是否是标准的,但/ usr / bin / osascript目前无法进行修改......即使我是sudo。这是我的工作笔记本电脑,因此我的雇主完全有可能在我第一次执行此脚本后将其锁定,我可能只需要在挂载失败时处理错误对话框。
杰里雅斯曼

它工作,除非我添加密码,它仍然要求一个。一个窗口弹出打开并要求我输入密码
ktyagi
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.