我有以下代码:
curl -s --insecure -H "Content-Type: application/json" -X POST -d "{\"username\":\"$1\",\"password\":\"$2\"}" http://apiurl
在上面的curl
命令中,我想转义密码中的"
和。!
我已经修改了 curl 命令如下,但它似乎不起作用
curl -s --insecure -H "Content-Type: application/json" -X POST -d "{\"username\":\"$1\",\"password\":\"$2\"}" http://apiurl
答案1
${password//!/\!} 将用 ! 替换密码中的每个 !。额外的 \ 表示我们要替换每个 !,而不仅仅是第一个。
相同的逻辑可以用于“或者,您可以将完整的 -d 变量括在单引号而不是双引号中,这可能会消除转义双引号的需要。