我想做一个使用身体中环境变量的卷曲请求:
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//"}