私は以下を持っています:
COMMENT="A random comment"
TEXT_JSON='{"person" : "Jim","comment" : "$COMMENT"}'
echo "$TEXT_JSON" | jq .
この印刷
{
"person": "Jim",
"comment": "$COMMENT"
}
これは私が望むものではありません。ここに文字列をどのように挿入しますか?
ベストアンサー1
一重引用符には挿入できません。
文字列を二重引用符で囲んでから、リテラル二重引用符をエスケープできます。
COMMENT="A random comment"
TEXT_JSON="{\"person\" : \"Jim\",\"comment\" : \"$COMMENT\"}"
echo $TEXT_JSON | jq .
{
"person": "Jim",
"comment": "A random comment"
}
あるいは、一重引用符を保持して、何もエスケープする必要がないようにすることもできます。ただし、変数の前に一重引用符を付け、変数に二重引用符を使用し、文字列の最後の部分に一重引用符を使用します。
TEXT_JSON='{"person" : "Jim","comment" : "'"$COMMENT"'"}'