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

エコーがこの文字をこれにデコードしないようにするにはどうすればよいですか?

ベストアンサー1

おすすめ記事