You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Python -c参数执行代码触发Bash事件未找到错误求助

Python -c执行含!代码触发Bash错误的原因

这问题根源是Bash的历史扩展机制:

  • Bash里!是特殊符号,用来调用历史命令(比如!!就是重复上一条命令)。
  • 你用双引号""包裹Python代码时,Bash会先解析引号内的特殊字符,"print('!')"里的!会被Bash当成历史扩展的触发标记,而非要传给Python的字符串内容,因此抛出event not found错误。
  • 而"print('foo')"里没有特殊字符,Bash直接把整段内容传给Python,所以能正常执行。

解决办法二选一:

  • 用单引号包裹Python代码:python -c 'print("!")',Bash不会解析单引号内的任何特殊字符,!会完整传递给Python。
  • 给!加反斜杠转义:python -c "print('\!')",明确告诉Bash这个!是普通字符,无需触发历史扩展。

内容的提问来源于stack exchange,提问作者Jeyekomon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 16:12:03