shell脚本中的变量扩展

时间:2018-03-29 14:20:08

标签: shell

我在扩展变量时遇到了一些问题。

首先我设置密钥的值。

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

1 个答案:

答案 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"