Похоже, я не могу получить пустой JSON, {}
если отсутствует envvar. У меня либо есть трейлинг }
на выходе, если он установлен, либо экранирование.
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
Как мне избежать этого правильно?
echo "${X:-{\}}"
работал просто отлично.