Mac Ventura系统执行#!/bin/bash时出现zsh: event not found: /bin/bash错误的问题求助
Mac Ventura系统执行#!/bin/bash时出现zsh: event not found: /bin/bash错误的问题求助
嘿,我刚好碰到过类似的问题,来给你捋捋~
你遇到的这个错误其实是zsh的历史扩展功能在搞怪!Mac Ventura默认的shell是zsh,而zsh里的!是个特殊字符,默认用来调用历史命令——比如!ls会执行最近一次以ls开头的命令。当你直接在命令行输入#!/bin/bash时,zsh会把!/bin/bash当成要查找的历史事件,可你之前根本没运行过以/bin/bash开头的历史命令,自然就会弹出event not found的报错啦。
至于你说“运行zsh后命令就正常”,我猜可能是你表述有点小偏差?其实如果是在zsh会话里,只要避开!的解析就行。给你几个解决办法:
- 如果你只是想切换到bash环境,直接输入
/bin/bash就好啦!#!是写在脚本开头的“shebang行”,用来指定脚本的解释器,不是直接在命令行输入的命令哦。 - 要是你非要在zsh里输入
#!/bin/bash这行内容而不报错,可以临时关闭历史扩展:先输入set +o histexpand,再输入那行内容就行;或者用单引号把它括起来,写成'#!/bin/bash',这样zsh就不会把!当成特殊字符解析了。 - 另外提一句,Mac自带的bash版本比较老(因为苹果主推zsh了),如果需要更新的bash,可以用Homebrew安装,安装后的路径一般是
/usr/local/bin/bash(Intel芯片)或者/opt/homebrew/bin/bash(M系列芯片)。
备注:内容来源于stack exchange,提问作者Jeanne Chaverot
相关产品推荐
相关产品推荐

