Shell: переменное расширение внутри одинарных кавычек
Я совершенно новичок в сценариях оболочки.
У меня есть следующий скрипт:
out="FAILURE"
curl -X POST -d 'json={"json":"message"}' http://localhost:8888/json.tail.test
Я хочу заменить "сообщение" на $out
ценность. Я пробовал разные способы, но не смог этого сделать. Может кто-нибудь предложить мне?
2 ответа
Решение
Сделай это:
out="FAILURE"
curl -X POST -d 'json={"json":"'$out'"}' http://localhost:8888/json.tail.test
В основном, все, кроме $out
внутри одинарных кавычек. Одинарные кавычки защищают двойные кавычки, но подавляют расширение таких переменных, как $out
,
Попробуй это:
out="FAILURE" curl -X POST -d 'json={"json": $OUT}' http://localhost:8888/json.tail.test
Вам просто нужно буквально заменить "message"
с $OUT