如何在curl PUT请求的主体中使用环境变量?

时间:2018-02-19 13:45:57

标签: linux curl environment-variables

我想做一个在正文中使用环境变量的curl请求:

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

在此请求中,${HOST}被环境变量正确替换,但${USER}不是。我怎样才能替换${USER}

1 个答案:

答案 0 :(得分:-1)

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//\"}