Alpine-linux sed 命令调试模式

Alpine-linux sed 命令调试模式

我正在尝试将以下文本插入到任何文件中。我通过以下方式做到这一点:

sed -i '1i JRE_HOME="${JAVA_HOME}/jre" \
       CATALINA_PID="${CATALINA_HOME}/temp/tomcat.pid" \
       CATALINA_OPTS="-XX:+PrintCodeCache -XX:+UseParallelGC -Xms512m -Xmx1024m" \
       JAVA_OPTS="-Duser.timezone=${TZ} -Dfile.encoding=UTF-8"' ${CATALINA_HOME}/bin/setenv.sh

但是当我执行 sed 命令时,文件是空的,并且我没有得到任何错误输出或任何指示问题的信息。我通过运行“echo $?”看到了这一点打印 0。

有没有办法在 Alpine-linux 上以调试模式运行 sed 命令?

我还尝试了“set -x”,但输出中没有错误。

答案1

如果您正在编辑的文件为空,该命令可能会失败,并且不会给出任何特定的错误消息。后来也证实了这一点。

如果文件为空,则前面没有第 1 行可插入任何内容。由于无法寻址该行,因此不会执行任何插入操作。未能找到寻址行并不是错误,因此退出状态将为零。

相关内容