Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 我们可以在OS X中使用带空格的smb装载点吗?_Macos_Bash - Fatal编程技术网

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

Macos 我们可以在OS X中使用带空格的smb装载点吗?,macos,bash,Macos,Bash,我在脚本中使用了以下代码,将windows中的共享文件夹映射到OSX smb_entry="${mount_point} -fstype=smbfs,soft ://${username}:${password}@${host}/${share_name}" echo "${smb_entry}" >> /etc/auto_smb automount -vc 如果共享文件夹${share\u name}以及本地装入点${mount\u point}没有空格,那么这段代码就可以正

我在脚本中使用了以下代码,将windows中的共享文件夹映射到OSX

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

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

automount -vc
如果共享文件夹
${share\u name}
以及本地装入点
${mount\u 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
有效

那么在装载点路径中是否可能有空间


提前感谢。

您需要向操作系统显示
装入点
是一个单词(一个参数)。要做到这一点,您有几个选项:

  • “引用它”
  • 转义\all\spaces
否则,每个空格分隔的单词将被视为参数。

来自:

特殊字符(如空格字符、美元符号或符号)可以通过反斜杠(\)转义引用;这可以防止将空白解释为字段分隔符[…]


当前的答案是否,您不能有任何空格。Automount有一个明显的错误,它会处理
\
和/或
作为常规字符。所以你不能逃避空格。

询问你需要引用它。这是正确的,我们必须将路径显示为一个单词。。但评论没有帮助。我对条目中的空格进行了注释,如
/Users/ABC/Desktop/mount\point-fstype=smbfs,soft://username:password@192.168.xx.xx/testShare
以名称
mount`
安装在桌面上,共享文件夹中的文件也不可见。@GovindKarmakar,然后尝试将此文件夹向右拖动到终端并复制路径。它将自动转义,以便正确识别。路径与转义的空间保持不变。注释路径似乎不起作用,因为我在
/etc/auto_smb
文件
/Users/ABC/Desktop/mount\point-fstype=smbfs中给出了此条目,soft://用户名:password@192.168.xx.xx/testShare
此处空间被转义,但驱动器正在以“mount\”的名称装入,并且驱动器的实际内容不可见。
mount_point="${mount_point/ /\\ }"