转义mount命令中的特殊字符

Kar*_*ick 7 macos bash smb mount escaping

我想在Mac OSX Mavericks上安装一个Windows共享文件夹.简单的用户名和密码工作正常

mount -t smbfs //user2:password2@server1.mydomain.com/myproject ~/localmap

在尝试更有效的用户名和密码时,我收到解析URL失败的错误.详细信息为用户名:mydomain\user1密码:A%b $ c @ d!e #f

尝试的命令是

mount -t smbfs //mydomain\user1:A%b\$c\@d\!e#f@server1.mydomain.com/myproject ~/localmap

基于我发现的,$和!需要逃脱.需要有关如何逃避特殊字符的帮助.顺便说一句,仅使用没有域的用户名似乎适用于第一种情况

bis*_*hop 5

单引号转义外壳元字符,分号应将域控制器与凭据分开,并可以%40用来表示@密码中的:

mount -t smbfs '//mydomain;user1:A%b$c%40d!e#f@server1.mydomain.com/myproject' ~/localmap
Run Code Online (Sandbox Code Playgroud)


Lon*_* Wu 5

只需编码您的特殊字符。

@ -> %40
$ -> %24
! -> %21 
Run Code Online (Sandbox Code Playgroud)

其他字符可以在这里找到:http : //www.degraeve.com/reference/urlencoding.php

例如

username="someone", password="passw@rd"
Run Code Online (Sandbox Code Playgroud)

然后,这应该为您工作:

mount -t smbfs //someone:passw%40rd@server/path /Volumes/path
Run Code Online (Sandbox Code Playgroud)