我们可以在OS X中使用带空格的smb挂载点吗?

时间:2015-11-10 13:09:24

标签: macos bash

我在我的脚本中使用以下代码片段,将Windows中的共享文件夹映射到OS X.

smb_entry="${mount_point} -fstype=smbfs,soft ://${username}:${password}@${host}/${share_name}"

echo "${smb_entry}" >> /etc/auto_smb

automount -vc

如果共享文件夹${share_name}以及本地挂载点${mount_point}没有空格,则此段代码可以正常工作。对于包含空格的共享文件夹,解决方案是用十六进制值替换空格,但与其中包含空格的本地安装点类似。典型的例子是

/Users/govind/Desktop/mount point -fstype=smbfs,soft ://username:password@192.168.54.26/testShare不起作用

/Users/govind/Desktop/mount_point -fstype=smbfs,soft ://username:password@192.168.54.26/jumpCloudShare有效

因此可以在挂载点路径中包含空格吗?

提前致谢..

3 个答案:

答案 0 :(得分:1)

您需要显示mount point 一个字(一个参数)的操作系统。这样做,你有几个选择:

  • “引用它”
  • escape \ all \ spaces

否则每个空格分隔的单词将被视为参数。

答案 1 :(得分:0)

来自auto_master(5) man page

  

可以通过反斜杠(\)转义特殊字符,例如空格字符,美元符号或&符号;这可以防止空格被解释为字段分隔符[...]

mount_point="${mount_point/ /\\ }"

答案 2 :(得分:-1)

目前的答案是否定的,你不能有任何空格。 Automount有一个明显的错误,即将\和/或"视为常规字符。所以你不能逃避空间。