Linux 技术手札

Shell Script 报错: bad interpreter: No such file or directory

如果在执行 Shell Script 时预到 bad interpreter: No such file or directory 报错, 原因是 Shell Script 第一行指定的 interpreter 路径错误, 系统找不到 interpreter 所致。

解决方法是检查 Shell Script 第一行的 interpreter, 设定回正确路径, 一般是 /bin/sh 或 /bin/bash.

另一种情况是 interpreter 设定正确, 但出现像以下报错:

/bin/sh^M: bad interpreter: No such file or directory

这个问题是因为 Shell Script 是在 Windows 上编辑的, 格式使用了 dos 格式, 在第行结尾加入了 “^M” 字串, 系统找不到 “/bin/sh^M”, 所以便会出现这个问题。

要解决这个问题, 可以用 dos2unix 指令, 例如:

# dos2unix test_script.sh
dos2unix: converting file test_script.sh to UNIX format …

执行完以上指令后, 再试试执行应该没问题了。

Exit mobile version