Bash脚本在空行上显示“找不到命令”
每次我bash scriptname.sh
在Debian中使用命令行运行脚本时,都会得到Command Not
found脚本的结果,然后得到脚本的结果。
该脚本可以工作,但是Command Not Found
屏幕上总是为每个空行打印一条语句。每个空白行都会导致找不到命令。
我正在从该/var
文件夹运行脚本。
这是脚本:
#!/bin/bashecho Hello World
我通过键入以下命令来运行它:
bash testscript.sh
为什么会发生这种情况?
回答:
确保您的第一行是:
#!/bin/bash
输入您的bash路径(如果不是) /bin/bash
尝试运行:
dos2unix script.sh
这样会将行尾等从Windows转换为Unix格式。即,它从行尾去除\ r(CR),将其从更改\r\n (CR+LF)
为\n (LF)
。
有关dos2unix
命令的更多详细信息(手册页)
判断文件是否为dos / Win格式的另一种方法:
cat scriptname.sh | sed 's/\r/<CR>/'
输出将如下所示:
#!/bin/sh<CR><CR>
echo Hello World<CR>
<CR>
这将输出整个文件文本,并<CR>
显示文件中每个\r
字符的显示内容。
以上是 Bash脚本在空行上显示“找不到命令” 的全部内容, 来源链接: utcz.com/qa/410249.html