无法在mac

时间:2018-05-21 12:50:34

标签: bash macos shell sh fish

我创建了以下简单的测试脚本

#!/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.

我将macfish一起使用,我该怎么做才能成功运行它?

1 个答案:

答案 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

这就是你想要的。