因此,当我使用以下命令在 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
我怎样才能让回声不将这个字符解码成这个?