首先,我跑
/bin/bash a.sh
它成功了。
但是当我想跑步时
/bin/bash a.sh > a_info.txt
它失败了。
Error: line 1: !#/bin/bash: No such file or directory
似乎不是 ' ^M
' 导致了这个错误。
shebang 模式是#!/bin/your_shell
,不是!#/bin/your_shell
。改正错字就好了。
检查文件的编码。
如果您收到此错误,但您没有拼错“shebang”,请仔细查看文件的编码。我在使用“带有 BOM 的 UTF8”编码的文件上收到此错误...我猜是 BOM(字节顺序标记)导致了问题。将编码更改为 ASCII 并修复它(或者您可以使用“不带 BOM 的 UTF-8”,这对于仅包含 ASCII 字符的文件实际上是相同的)。
“没有这样的文件或目录”错误的另一个可能原因是您的 shell 脚本使用 CRLF 而不是 LF 行结尾。