5

首先,我跑

/bin/bash a.sh

它成功了。

但是当我想跑步时

/bin/bash a.sh > a_info.txt

它失败了。

Error: line 1: !#/bin/bash: No such file or directory

似乎不是 ' ^M' 导致了这个错误。

4

3 回答 3

17

shebang 模式是#!/bin/your_shell,不是!#/bin/your_shell。改正错字就好了。

于 2013-06-07T15:43:30.340 回答
7

检查文件的编码。

如果您收到此错误,但您没有拼错“shebang”,请仔细查看文件的编码。我在使用“带有 BOM 的 UTF8”编码的文件上收到此错误...我猜是 BOM(字节顺序标记)导致了问题。将编码更改为 ASCII 并修复它(或者您可以使用“不带 BOM 的 UTF-8”,这对于仅包含 ASCII 字符的文件实际上是相同的)。

于 2014-02-10T14:32:53.167 回答
2

“没有这样的文件或目录”错误的另一个可能原因是您的 shell 脚本使用 CRLF 而不是 LF 行结尾。

于 2014-02-28T20:59:35.080 回答