如何在shell脚本上解释带有两个美元符号的curl字符串变量?

问题描述 投票:0回答:1

我在 shell 脚本上运行curl 命令时遇到问题。我有一个带有两个美元符号字符的字符串变量,如下例所示:

local auth="$3xLxLBcsKv$zY59kBuIpKeG4q1526phJ9"

我需要将此变量传递给curl 命令。就像下面是我写的但不是工作:

curl --connect-timeout 2 -H 'Extender-Auth: $auth' https://192.168.5.1/1/

但是shell脚本上的写法是错误的。有人可以帮助我如何修改编写使其在 shell 脚本上运行吗?

感谢您的帮助!

使curl可以使用上述选项和值。

shell variables curl dollar-sign
1个回答
0
投票

使用双引号 - bash 将尝试在所包含的字符串中执行变量替换:

local auth="$3xLxLBcsKv$zY59kBuIpKeG4q1526phJ9"

将尝试扩展“$3”和“$zY59kBuIpKeG4q1526phJ”。第二个很可能是空的,第一个可能是任何东西。

尝试使用单引号,它不执行替换:

local auth='$3xLxLBcsKv$zY59kBuIpKeG4q1526phJ9'

curl --connect-timeout 2 -H 'Extender-Auth: $auth' https://192.168.5.1/1/
© www.soinside.com 2019 - 2024. All rights reserved.