我如何在卷发请求的主体中使用环境变量



我想做一个使用身体中环境变量的卷曲请求:

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

在此请求中,${HOST}被环境变量正确替换,但${USER}不是。我还可以替换${USER}吗?

shell参数扩展不会在单引号中进行。您可以关闭单个引号,并为扩展启动新的双重报价:

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

,或者您可以使用双引号:

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

在这两种情况下,您都需要能够相信$USER不含"-您可能需要先对其进行消毒:

# This is a Bash extension to POSIX
USER=${USER//"}

最新更新