【发布时间】:2019-12-13 22:32:47
【问题描述】:
我正在尝试读取变量的输入,然后在 REST API 调用数据字段中使用此变量,但我无法在引号内正确转义变量。
我在单引号之前、双引号之前以及同时在单引号和双引号之前尝试过反斜杠。
token=$(curl $VAULT_ADDR/v1/auth/ldap/login/$username -d '{"password": "$password"}' -k | jq '.auth.client_token')
echo token
到目前为止,它会将 $password 读取为字符串。无法进行身份验证,因为密码错误然后令牌等于 null。我试图在双引号内使用变量 $password 的值,因为数据字段应该是 JSON 格式。
password=hunter2
'{"password": "$password"}' 变为
'{"password": "hunter2"}'
如果我硬编码我的密码,它会成功
【问题讨论】:
-
'{"password": ' "$password" ' " }'
标签: bash shell variables escaping