Nie mogę wydać pustego JSON, {}
aby echo, jeśli brakuje envvara. Mam ciąg końcowy }
w danych wyjściowych, jeśli jest ustawiony, lub wyświetla się znaki specjalne .
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
Jak poprawnie go uciec?
echo "${X:-{\}}"
działało dobrze.