我被一个有线问题困住了。我的 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