我创建了以下简单的测试脚本
#!/bin/bash
echo "test"
我使用chmod +x ./msa.sh
来执行它。
现在,当我尝试运行它时
像./msa
我收到了以下错误,
Failed to execute process ‘./msa.sh'. Reason:
exec: Exec format error
The file './msa.sh' is marked as an executable but could not be run by the operating system.
我将mac
与fish
一起使用,我该怎么做才能成功运行它?
答案 0 :(得分:6)
您确定要将脚本另存为纯文本文件吗?如果您正在使用TextEdit,则可能正在保存RTF。选择格式>制作纯文本并在需要时重新保存文件。
您还可以检查shell中的文件,以确保它以您期望的shebang行开头。例如:
nicholas@mary ~> file msa.sh
msa.sh: Rich Text Format data, version 1, ANSI
nicholas@mary ~> head -1 msa.sh
{\rtf1\ansi\ansicpg1252\cocoartf1561\cocoasubrtf400
那是不是你想要的东西。
nicholas@mary ~> file msa.sh
msa.sh: Bourne-Again shell script, ASCII text executable
nicholas@mary ~> head -1 msa.sh
#!/bin/bash
这就是你想要的。