我正在尝试将以下文本插入到任何文件中。我通过以下方式做到这一点:
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 行可插入任何内容。由于无法寻址该行,因此不会执行任何插入操作。未能找到寻址行并不是错误,因此退出状态将为零。