Bash 脚本-\r:未找到命令

Bash 脚本-\r:未找到命令

我在 bash 中编写了脚本,但尝试通过终端运行它时遇到了问题。我在 Ubuntu 和 Debian 上试过了。

例如,这是 bash 脚本:

#!/bin/bash
clear

当我通过以下命令运行它时:

bash 名称.sh

或者

。名称.sh

我收到了那个错误

bash: $'clear\r: command not found

在我的脚本中每一行都有这个。

答案1

\r” 是bash打印回车符的方式。(“ ^M0x0B)其他一些系统将其用作行尾标记的一部分(“ ^M^J”,回车符,后跟换行符)。 Linux 仅在行尾使用“^J”(换行符)。

清除“ \r”字符的一种方法是通过dos2unix同名包中的 。

另一种方法是:

tr -d "\r" <name.sh >a.tmp
mv a.tmp name.sh

相关内容