Featured image of post 解决运行sh脚本时提示“/bin/bash^M: bad interpreter: Text file busy”

解决运行sh脚本时提示“/bin/bash^M: bad interpreter: Text file busy”

在运行 sh 脚本时提示“/bin/bash^M: bad interpreter: Text file bu…

在运行 sh 脚本时提示“/bin/bash^M: bad interpreter: Text file busy”,这个问题通常是由于 Windows 和 Unix/Linux 操作系统之间的换行符差异导致的。

解决运行 sh 脚本时提示“/bin/bash^M: bad interpreter: Text file busy” 在 Windows 操作系统中,每行文本的结尾通常是由 “\r\n”(也称为 CRLF)组成。而 Unix/Linux 操作系统中,每行文本的结尾通常只使用 “\n”(也称为 LF)。因此,在将包含 Windows 风格换行符的脚本文件从 Windows 移植到 Unix/Linux 时,可能会遇到这种类型的错误。

解决这个问题可以通过使用 dos2unix 命令将脚本文件中的换行符转换为 Unix 风格的换行符。你可以在终端中执行以下命令来安装并使用 dos2unix 工具:

  1. Ubuntu/Debian Linux:
1
2
3
4
5


|  | sudo apt-get update |
| --- | --- |
|  | sudo apt-get install dos2unix |
  1. CentOS/RHEL Linux:
1
sudo yum install dos2unix
  1. Mac OS X:
1
brew install dos2unix

安装完毕后,可以使用以下命令将脚本文件中的换行符转换为 Unix 风格的换行符:

1
dos2unix start.sh

解决运行 sh 脚本时提示“/bin/bash^M: bad interpreter: Text file busy” 然后,再次运行脚本文件 ./start.sh 来确保该问题已经得到解决。

转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
使用 Hugo 构建
主题 StackJimmy 设计