This question already has an answer here:
! in a string makes it unusable in a command line - error message “event not found” [duplicate]

(1个答案)


3年前关闭。




我收到此奇怪的错误消息,试图将shebang写入python脚本:
$ echo "#!/usr/bin/env python" > scripts/sandbox.py
-bash: !/usr/bin/env: event not found

$ echo "say what?" > scripts/sandbox.py

立即执行相同的操作,但不使用shebang行。这是什么行为,如何克服?谢谢

最佳答案

!是bash的特殊字符,用于引用以前的命令。它在双引号内扩展。
为避免这种情况,请将它们括在单引号中:

echo '#!/usr/bin/env python' > scripts/sandbox.py

@mklement0在评论中对其进行了精美的说明:

09-05 12:34
查看更多