我想将字符串传递给包含!
字符的php脚本。像这样
php cfg.php --name=smtppass --set="MYW!ORD"
但是我得到这个错误
bash: !ORD: event not found
另一方面,如果我通过"MYW\!ORD"
,则我在查询文件时看到此字符串已设置
smtppass MYW\!ORD
有什么想法要解决吗?
答案 0 :(得分:1)
您可以这样传递它:
php cfg.php --name=smtppass --set="MYW"'!'"ORD"
或更懒惰的方法是使用单引号。
php cfg.php --name=smtppass --set='MYW!ORD'
发生这种情况是由于Bash的历史记录扩展(有时非常危险),您可以通过键入set +H
来关闭此功能。