How can I use environment variables in body of a curl PUT request?中,我得到了一个很好的建议:总是使用"来处理环境变量。
假设我要执行以下查询:

curl -XPUT http://"${HOST}"/create/"${USER}" -d'{"user":"'"${USER}"'"}'

我在${USER}之间加上"以确保用户名中的空格是可能的。我对${HOST}也做了同样的操作,尽管这不是严格要求的,因为据我所知,主机名不能包含空格。
我想知道下列要求是否与先前的要求相同:
curl -XPUT "http://${HOST}/create/${USER}" -d'{"user":"'"${USER}"'"}'

他们平等吗?哪个是首选/最标准的?

最佳答案

是的,他们是平等的。
我更喜欢

curl -XPUT "http://${HOST}/create/${USER}" -d"{\"user\":\"${USER}\"}"

首先是因为:
它更短,正如@ryan在评论中所说
第二个文本在一个块中比连接两种类型的引号更容易阅读
一些编辑器将以更可读的方式突出显示它们(例如vimlinux - 如何在环境变量扩展中使用引号-LMLPHP

关于linux - 如何在环境变量扩展中使用引号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48869106/

10-15 07:11