我看過類似的問題,但沒有找到適用于此的答案。我還一直在 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 并得到相同的結果。
uj5u.com熱心網友回復:
'https://api.xyz.com/ipgeo?apiKey=XXXX&ip=$lookup'
'https://api.xyz.com/ipgeo?apiKey=XXXX&ip="$lookup"'
看起來你是從字面上通過它。試試外面的雙引號,里面的單引號。
"https://api.xyz.com/ipgeo?apiKey=XXXX&ip='$lookup'"
編輯:字串和此處字串中的變數擴展
https://devblogs.microsoft.com/powershell/variable-expansion-in-strings-and-here-strings/
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/390174.html
標籤:电源外壳 变量 脚本编写 语法错误 powershell-7.2
下一篇:根據邏輯標準將變數合二為一
