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

Mac(fish shell)下执行bash脚本失败的解决方法咨询

解决Bash脚本Exec Format Error的问题

首先,咱们来拆解你遇到的错误:Exec format error 最常见的诱因是脚本的shebang行格式不对。看你提供的代码,#!/bin/bash 和 echo "test" 挤在了同一行,这会让操作系统把整行当成解释器路径——显然不存在叫 /bin/bash echo "test" 的程序,自然就报错了。

另外,虽然你的默认shell是fish,但这不影响bash脚本的运行,只要shebang设置正确,系统会自动调用bash来执行脚本内容。

下面是具体的解决步骤:

  • 修正脚本的shebang格式
    打开你的msa.sh,确保第一行单独写shebang,调整后的脚本内容如下:

    #!/bin/bash
    echo "test"
    

    保存后重新运行./msa.sh,应该就能正常输出内容了。

  • 备选方案:直接指定bash解释器运行
    如果暂时不想修改脚本,也可以直接用bash命令强制执行:

    bash ./msa.sh
    

    这种方式会跳过shebang的检查,直接让bash解析执行脚本里的内容。

  • 检查换行符格式(可选排查项)
    有时候Mac上创建的脚本可能带有Windows风格的换行符(CRLF),这也可能导致执行失败。你可以用下面的命令查看换行符:

    cat -A ./msa.sh
    

    如果看到每行末尾有^M标记,说明是Windows换行符,用这条命令转换为Unix格式:

    sed -i '' 's/\r$//' ./msa.sh
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 07:21:21