使用bash变量将多个标头传递给curl命令
发布时间:2020-12-15 22:11:19 所属栏目:安全 来源:网络整理
导读:参见英文答案 Prevent bash from adding single quotes to variable output????????????????????????????????????1个 我想用多个头文件做curl请求.解决方法是创建这个命令: curl -H "keyheader: value" -H "2ndkeyheader: 2ndvalue" ... 我的目标是只使用一
参见英文答案 >
Prevent bash from adding single quotes to variable output????????????????????????????????????1个
我想用多个头文件做curl请求.解决方法是创建这个命令: curl -H "keyheader: value" -H "2ndkeyheader: 2ndvalue" ... 我的目标是只使用一个变量和所有标题,如: headers='-H "keyheader: value" -H "2ndkeyheader: 2ndvalue" ' curl $headers 发送 curl -H "keyheader: value" -H "2ndkeyheader: 2ndvalue" 目前,问题是:我可以使用’或’来声明我的字符串,但是bash尝试在“-H”之后运行什么作为参数,然后回答: command unknown 想知道这里出了什么问题. 解决方法
您只需要使用数组而不是变量来传递引用的字符串.
declare -a curlArgs=('-H' "keyheader: value" '-H' "2ndkeyheader: 2ndvalue") 现在以这种方式完全传递这个数组,数组扩展(带双引号)处理双引号内的参数,以便在传递时不进行分割. curl "${curlArgs[@]}" 要更深入地了解为什么将变量中的参数设置失败,请参阅BashFAQ/050 – I’m trying to put a command in a variable,but the complex cases always fail! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |