我查看了类似的问题,但没有找到适用于此的答案。我也一直在 docs.microsoft.com 上阅读和挖掘。抱歉,如果之前回答过这个问题并且我找不到它。
当我在 Powershell 中为其提供变量时,带有 CLI 的地理定位 API 不起作用。
命令:(本帖更改了站点、API 密钥和 IP)
curl.exe 'https://api.xyz.com/ipgeo?apiKey=XXXX&ip=4.3.2.1'
我拥有的脚本:
[string]$lookup = $Args[0]
echo $lookup
echo "$lookup"
curl.exe 'https://api.xyz.com/ipgeo?apiKey=XXXX&ip="$lookup"'
我从powershell运行它geo 4.3.2.1
起初我没有使用 [string] 变量类型表示法,但在它不起作用并且我在 docs.microsoft.com 上进行了一些阅读之后,我意识到我希望将其视为字符串,所以我添加了它。
echo 语句只是我检查变量的处理方式,并将从最终脚本中删除。它们都正确显示了 IPv4 地址。
我已经尝试过最初的脚本
curl.exe 'https://api.xyz.com/ipgeo?apiKey=XXXX&ip=$lookup'
然后在变量周围添加双引号。都不工作。
如果我在脚本中编辑该行,并在其中放置一个 IPv4 地址并运行它,它会正确输出,所以我知道它不是 API 或它的命令,而是从 powershell 传递变量的方式。
使用该变量时,我从 API 收到错误消息。
我已经在旧的 powershell 中尝试过这个,今天安装了 powershell 7.2 并得到了相同的结果。