我想做一个在正文中使用环境变量的curl请求:
curl -XPUT http://${HOST}/create -d'{"user":"${USER}"}'
在此请求中,${HOST}
被环境变量正确替换,但${USER}
不是。我怎样才能替换${USER}
?
答案 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//\"}