如何在单引号内的双引号内转义变量?

How do I escape a variable inside double quotes inside single quotes?

我正在尝试读取变量的输入,然后在 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-format.

password=hunter2

'{"password": "$password"}' 变为

'{"password": "hunter2"}'

如果我硬编码密码就成功了

'{"password": "'$password'"}'

?