我正在尝试在任何文件中插入以下文本。我这样做的方式如下:
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上以调试模式运行sed命令?
我还尝试了"set -x“,输出中没有出现错误。
发布于 2022-11-24 18:57:30
如果正在编辑的文件为空,则该命令可能会失败,而不会给出任何特定的错误消息。后来证实情况确实如此。
如果文件为空,则前面没有插入任何内容的第1行。由于无法寻址行,因此不执行插入。未能找到寻址行不是错误,因此退出状态为零。
https://unix.stackexchange.com/questions/721482
复制相似问题