sed 스크립트를 사용하여 bash 스크립트를 생성할 때 발생하는 문제

sed 스크립트를 사용하여 bash 스크립트를 생성할 때 발생하는 문제

따라서 다음을 사용하여 Docker 매니페스트에 파일을 만들 때 echo:

RUN \
echo "#!/bin/bash\n\
mounted_tz=$(cat /etc/timezone)\n\
sed -i -r \"s~^(log_timezone\s*=\s*).*$~\1\'\$mounted_tz\'~\" /etc/postgresql/9.6/main/postgresql.conf\n\
sed -i -r \"s~^(timezone\s*=\s*).*$~\1\'\$mounted_tz\'~\" /etc/postgresql/9.6/main/postgresql.conf\n" > /root/pgtz-updaters; \

그런 다음 생성된 컨테이너에서 이 파일을 열면 다음과 같은 내용이 표시됩니다.

#!/bin/bash
mounted_tz=Etc/UTC
sed -i -r "s~^(log_timezone\s*=\s*).*$~^A\'$mounted_tz\'~" /etc/postgresql/9.6/main/postgresql.conf
sed -i -r "s~^(timezone\s*=\s*).*$~^A\'$mounted_tz\'~" /etc/postgresql/9.6/main/postgresql.conf

에코가 이 문자를 이것으로 디코딩하지 않게 하려면 어떻게 해야 합니까?

관련 정보