使用" mount"时密码内的逗号

时间:2015-06-03 04:13:09

标签: linux mount samba

需要将特定目录从Windows挂载到Linux

mount -t cifs -o username=somebody password=12,34 //192.168.1.3/share /mnt/server

请注意密码中有一个逗号,这使得Shell将其误认为是分隔符。

如何处理这种情况?

谢谢!

1 个答案:

答案 0 :(得分:3)

man mount.cifspassword选项的说明明确表示,您不能在命令行中使用逗号包含的密码:

  

请注意,在命令行中无法正确解析包含分隔符(即逗号',')的密码。但是,将正确读取在PASSWD环境变量中或通过凭证文件(见下文)或在密码提示下输入的相同密码。

您可以在与mount相同的行中设置PASSWD变量:

PASSWD=12,34 mount -t cifs -o username=somebody //192.168.1.3/share /mnt/server

或者,您可以使用凭证文件,如本手册中所述。

顺便说一下,错误地解释逗号的不是 shell 。实际上,usernamepassword都是-o选项的子选项,这些子选项应该用逗号分隔,以便程序正确解析< / em>(mount)本身:

mount -t cifs -o username=<username>,password=<password> ...

这样的子选项机制无法在子选项的值内解析逗号。