我想挂载一个 FTP 驱动器,但我的 FTP 密码包含“?!”。
我输入命令:
curlftpfs myaccount:mypassword?!@thefptserver.com
但它给了我“bash:!@theftpsever.com:找不到事件”
我如何逃避这些角色?
将其括在单引号中:
curlftpfs 'myaccount:mypassword?!@thefptserver.com'
如您所见,感叹号在bash
:中具有特殊含义,!@thefptserver.com
表示以 . 开头的最新命令@thefptserver.com
。
您可以使用下面的用户选项将用户和密码与 FTP URL/IP 分开:
curlftpfs -o user='myaccount:mypassword?!' thefptserver.com
我在 curlftpfs 手册中找到了这个选项,希望它有帮助!
在此链接中也找到了相同的答案https://superuser.com/questions/269006/curlftpfs-doesnt-work-for-a-username-with-a
@theftpsever.com
Bash 正在查找以您的历史记录开头的最新命令。这称为“历史扩展”,非常有用。在这种情况下,当然不是。
您可以!
使用反斜杠转义,但更常见的是使用单引号来阻止您的 shell 尝试执行此操作:
curlftpfs 'myaccount:mypassword?!@thefptserver.com'