{}
envvarがない場合、空のJSON をエコーすることができないようです。}
設定されている場合は、出力の末尾が表示されるか、エスケープが表示されます。
bash-3.2$ unset X
bash-3.2$ echo "${X:-{}}"
{}
bash-3.2$ X=y
bash-3.2$ echo "${X:-{}}"
y}
bash-3.2$ echo "${X:-{\}}"
y
bash-3.2$ unset X
bash-3.2$ echo "${X:-{\}}"
{\}
bash-3.2$ echo "${X:-'{}'}"
'{}'
bash-3.2$ X=z
bash-3.2$ echo "${X:-'{}'}"
z
どうすれば正しくエスケープできますか?
@SergiyKolodyazhnyy 4.2で修正されました。POSIX標準に準拠するためのパラメーター展開演算子に続く単語展開の引用に関するいくつかの議論を思い出します。
—
chepner 2017年
echo "${X:-{\}}"
。