我在扩展变量时遇到了一些问题。
首先我设置密钥的值。
KEY=Basic YWRtaW46YWRtaW4=
然后我试着用curl调用它,但它没有用。为了诊断问题,我决定打印正在运行的实际命令。这是结果
print curl -H `print "Authorization: " $KEY` "http://192.168.1.1/userRpm/WlanMacFilterRpm.htm?Page=1&exclusive=0"
>> http://192.168.1.1/userRpm/WlanMacFilterRpm.htm?Page=1&exclusive=0
只在KEY之后打印字符串。然而,如果我自己更换它,那就是打印正确的输出。
print curl -H "Authorization: Basic YWRtaW46YWRtaW4=" "http://192.168.1.1/userRpm/WlanMacFilterRpm.htm?Page=1&exclusive=0"
>> curl -H Authorization: Basic YWRtaW46YWRtaW4= http://192.168.1.1/userRpm/WlanMacFilterRpm.htm?Page=1&exclusive=0
答案 0 :(得分:1)
您需要将值括在引号中,因为您有空格。
KEY="Basic YWRtaW46YWRtaW4="
在没有引号的情况下执行KEY=Basic YWRtaW46YWRtaW4=
就像将“Basic”分配给“KEY”,而不是另一个名为“YWRtaW46YWRtaW4”的变量。
然后简单地使用它:
curl -H "Authorization: $KEY" "http://192.168.1.1/userRpm/WlanMacFilterRpm.htm?Page=1&exclusive=0"