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 명령을 실행하면 파일이 비어 있고 오류 출력이나 문제를 나타내는 어떤 것도 얻지 못합니다. 나는 0을 인쇄하는 "echo $?"를 실행하여 이것을 보았습니다.

Alpine-linux의 디버그 모드에서 sed 명령을 실행하는 방법이 있습니까?

"set -x"도 시도했지만 출력에는 오류가 없습니다.

답변1

편집 중인 파일이 비어 있으면 특정 오류 메시지 없이 명령이 실패할 수 있습니다. 이것은 나중에 확인되었습니다.

파일이 비어 있으면 아무것도 삽입할 이전 라인 1이 없습니다. 행의 주소를 지정할 수 없으므로 삽입 작업이 수행되지 않습니다. 주소가 지정된 행을 찾지 못한 것은 오류가 아니므로 종료 상태는 0이 됩니다.

관련 정보