12

我想挂载一个 FTP 驱动器,但我的 FTP 密码包含“?!”。

我输入命令:

curlftpfs myaccount:mypassword?!@thefptserver.com 

但它给了我“bash:!@theftpsever.com:找不到事件”

我如何逃避这些角色?

4

3 回答 3

9

将其括在单引号中:

curlftpfs 'myaccount:mypassword?!@thefptserver.com'

如您所见,感叹号在bash:中具有特殊含义,!@thefptserver.com表示以 . 开头的最新命令@thefptserver.com

于 2012-01-22T08:23:52.100 回答
3

您可以使用下面的用户选项将用户和密码与 FTP URL/IP 分开:

curlftpfs -o user='myaccount:mypassword?!' thefptserver.com

我在 curlftpfs 手册中找到了这个选项,希望它有帮助!

在此链接中也找到了相同的答案https://superuser.com/questions/269006/curlftpfs-doesnt-work-for-a-username-with-a

于 2018-09-20T02:04:09.747 回答
1

@theftpsever.comBash 正在查找以您的历史记录开头的最新命令。这称为“历史扩展”非常有用。在这种情况下,当然不是。

您可以!使用反斜杠转义,但更常见的是使用单引号来阻止您的 shell 尝试执行此操作:

curlftpfs 'myaccount:mypassword?!@thefptserver.com'
于 2012-01-22T08:24:50.763 回答