在使用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的操作系统
疑难解答步骤
-
识别受影响的文件
- 查看错误输出以识别导致失败的
.sh脚本或配置文件。
- 查看错误输出以识别导致失败的
-
将文件转换为Unix格式
-
使用
dos2unix实用程序将Windows样式行结尾转换为Unix格式:code language-bash dos2unix <file_name> -
将
<file_name>替换为引发错误的实际脚本或配置文件。
-
-
如果需要,请重复
- 如果多个脚本受到影响,请对所有相关的
.sh文件(例如,安装程序、LCM或JBoss启动脚本)重复转换。
- 如果多个脚本受到影响,请对所有相关的
-
重新运行脚本
- 转换后,重新执行脚本以确认问题已得到解决。
将文件转换为Unix (LF)行结尾后,解决了/bin/sh^M和$'\r': command not found错误,JBoss脚本在Linux上成功执行。
recommendation-more-help
51c6a92d-a39d-46d7-8e3e-2db9a31c06a2