Bash 脚本不起作用,但在 Mac 终端上,脚本中的命令可以工作

Bash 脚本不起作用,但在 Mac 终端上,脚本中的命令可以工作

我被一个有线问题困住了。我的 bash 脚本现在不工作了。它以前工作正常。我不知道为什么。有趣的是,当我直接在终端上输入脚本时,脚本上的命令就会起作用。

这是我的脚本中的一个示例行ls

当我在终端上运行时sh ./check.sh,输出是: command not found ls

echo除了显示正确输出外,其他命令的输出也类似。

我请求一切好心人帮助我。

答案1

您已经使用 DOS(Windows)编辑器创建了脚本,并在每一行末尾添加了 \r(回车符)。

您可以使用以下方式转换文件:

dos2unix check.sh check.sh.tmp && mv check.sh.tmp check.sh

我个人通常会这样做vim check.sh,然后:set notx保存文件::wq

相关内容