[英]Bash adding extra single quotes to curl command defined as “…$'…'…”
這與防止bash將單引號添加到變量輸出非常相似,但是這些答案都沒有幫助我。
該腳本:
set -ex
curl_headers=(
--silent
"--form release_description=$'\n new \n'"
)
curl "${curl_headers[@]}" "example.com"
返回此輸出:
+ curl_headers=(--silent "--form release_description=$'\n new \n'")
+ curl --silent '--form release_description=$'\''\n new \n'\''' example.com
這是我不想做的兩件事。 它在--form
之前添加了一個刻度,並且在我的release_description
轉義了單個刻度
理想的結果是:
curl --silent --form release_description=$'\n new \n' example.com
如何獲取刪除轉義序列和添加單個刻度的信息?
單引號只是跟蹤模式(通過-x
選項)顯示字符串的方式。 它根本不影響您的命令。 主要問題是--form
兩個單獨的參數( --form
及其參數)組合為一個。
正確的腳本應該是這樣的
set -ex
curl_headers=(
--silent
--form
release_description=$'\n new \n'
)
curl "${curl_headers[@]}" "example.com"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.