一尘不染

如何在Linux上传递带有感叹号的参数?

linux

我有一个简单的Python脚本,可以接收用户名和密码作为参数,但是我的密码包含两个感叹号。当我像这样调用脚本时

salafek@dellboy:~/Desktop/$ emailsender.py -u username -p pass!!

我之前输入的命令将替换感叹号:

salafek@dellboy:~/Desktop/$emailsender.py -u username -p "passemailsender.py -u username -p passwget wget http://www.crobot.com.hr/templog"

我可以使用反斜杠(\)避开感叹号,但密码会更改。

是否有解决方案,如何在不更改密码的情况下转义感叹号?


阅读 405

收藏
2020-06-03

共1个答案

一尘不染

您应该能够简单地在外壳中用单引号引起来。

$ emailsender.py -u username -p 'pass!!'
2020-06-03