如何将标点符号的密码传递给“挂载”命令?

我有一个shell脚本,一个接一个地安装几个samba共享。 我希望我的用户只能input一次密码。 我可以通过以下方式传递密码,

mount -v -t smbfs -o nodev,nosuid //$user:$ [email protected]:/share/卷/分享

当有怪异的字符如'^'或'。'时,这不起作用。 在密码中。

有任何想法吗?

您可以使用mount.cifs命令的用户名密码选项(请参见手册页mount.cifs(8) ),例如mount -o ...,user="foo",password="bar" //example.com:/share mount.cifs(8) mount -o ...,user="foo",password="bar" //example.com:/share或者使用凭证选项来提供包含用户凭证的文件的path(另请参阅mount.cifs(8) )。

你必须在Mac上对特殊字符(奇怪的字符)进行URL编码,因为“mount_smbfs:-o user:option not supported”。 所以,在你的例子中,'^'=%5E

url编码在这里: http : //www.w3schools.com/tags/ref_urlencode.asp

你有没有尝试用引号括起密码短语?

尝试使用引号括住整个选项expression式,即mount -v -o“…”。