\n の扱い(二重引用符と単一引用符)
二重引用符では \n が改行に変換され、単一引用符ではそのままの 2 文字になるため、同じ見た目でも値が違う例です。
入力
.env A(例: staging)
X="a\nb"
.env B(例: production)
X='a\nb'
値の表示
値をそのまま表示する
結果
エラー 0 件・警告 0 件・情報 1 件
指摘(エラー・警告・情報)
- 情報 全体 変数の展開(${VAR})は行わず、書かれた文字列のまま比べています。
| キーの総数 | 1 件 |
|---|---|
| 同じ | 0 件 |
| 値が違う | 1 件 |
| A のみ | 0 件 |
| B のみ | 0 件 |
キーごとの比較表
| キー | A | B | 判定 |
|---|---|---|---|
| X | a↵b | a\nb | 値が違う |
検算(この結果になる理由)
二重引用符の "a\nb" は \n が改行に変換され、a と b の間が改行になります。単一引用符の 'a\nb' は文字どおりで、バックスラッシュと n の 2 文字が残るため、値は違います。
判定の根拠は仕様と根拠に、仕様の出典とともにまとめています。自分の入力で試すにはツールをお使いください。
このツールの制約
- export で始まる行は、Docker Compose の仕様ページに記載がないため読み取りません(警告で知らせます)。
- 変数の展開(${VAR} や ${VAR:-既定値})は行いません。展開後の値が同じかは判断できません。
- 同じキーが 1 つのファイルに複数あるときの優先は仕様ページに記載がないため、あとの行の値で比べて警告します。
ご利用にあたって
- 本物のパスワードやトークンを含む .env を貼り付けるときは、値の表示を伏せ字にしたままにしてください。
- この道具は送信しませんが、共有画面やスクリーンショットには注意してください。