這作業正常
curl --header 'Accept: application/json' www.example.com
但是,如何實作這一點(我想要一個變數中的標題資訊):
h="--header 'Accept: application/json'"
curl $h www.example.com
curl: option --header 'Accept: application/json': is unknown
curl: try 'curl --help' or 'curl --manual' for more information
uj5u.com熱心網友回復:
在zsh中,不帶引號的引數擴展默認情況下不會進行分詞。
h="--header 'Accept: application/json'"
curl $h www.example.com # equiv to curl "--header 'Accept: application/json'"
您可以啟用分詞,但單引號仍然是標題的一部分。
curl ${(z)h} www.example.com # equiv. to curl "--header" "'Accept: application/json'" www.example.com
您想要的是一個陣列,其中單引號僅用于轉義空格。
解決方案是使用陣列。
h=(--header 'Accept: application/json')
curl $h www.example.com # equiv. to curl "--header" "Accept: application/json" www.example.com
陣列引數擴展為一系列單獨的單詞,每個元素一個。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/440895.html
