在使用JBoss EAP 8 (Linux)的AEM Forms 6.5 LTS上脚本执行失败

问题

在​ Linux ​环境中设置​ JBoss EAP 8.0 (AEM Forms 6.5.1 LTS) ​时,在运行shell脚本或启动文件时,可能会遇到以下错误之一:

/bin/sh^M: bad interpreter
$'\r': command not found

在​ Windows ​系统上创建或编辑Shell脚本或配置文件并包含​ CRLF(回车+换行) ​行结尾时,会发生这些错误。
Linux系统仅支持​ LF(换行) ​行结尾,并且Windows样式的行结尾会导致脚本执行失败。

应用到

  • JBoss EAP 8.0
  • 基于Linux/UNIX的操作系统

疑难解答步骤

  1. 识别受影响的文件

    • 查看错误输出以识别导致失败的.sh脚本或配置文件。
  2. 将文件转换为Unix格式

    • 使用dos2unix实用程序将Windows样式行结尾转换为Unix格式:

      code language-bash
      dos2unix <file_name>
      
    • <file_name>替换为引发错误的实际脚本或配置文件。

  3. 如果需要,请重复

    • 如果多个脚本受到影响,请对所有相关的.sh文件(例如,安装程序、LCM或JBoss启动脚本)重复转换。
  4. 重新运行脚本

    • 转换后,重新执行脚本以确认问题已得到解决。

将文件转换为Unix (LF)行结尾后,解决了/bin/sh^M$'\r': command not found错误,JBoss脚本在Linux上成功执行。

recommendation-more-help
51c6a92d-a39d-46d7-8e3e-2db9a31c06a2