因此,我試圖獲取所有訂閱和區域中所有 VM 的 ID,其中特定標記為空。為此,我使用以下命令
az vm list -d --query '[?!not_null(tags.run)]|[].id'
請注意:我只想在標簽不存在時獲取 ID
在這里請注意,我需要使用單引號來覆寫查詢,因為我正在使用 '!' 運算子來反轉not_null()函式。如果我使用雙引號,bash 會拋出event not found錯誤。
所以現在問題出現了,當我還想添加一個條件來檢查 VM 的當前狀態并僅在它正在運行且標簽不存在時才回傳 id。
az vm list -d --query '[?!not_null(tags.run)] | [?powerState=="VM running"].id'
在這里我必須VM running用雙引號括起來,這給了我一個空輸出,因為字串沒有被匹配,因為查詢需要像這樣的單引號 -
"[?powerState=='VM running'].id"
有人可以幫我解決這個問題嗎?
uj5u.com熱心網友回復:
將原始字串文字用于VM 運行字串。您只需要用反勾號和雙引號將字串括起來。
az vm list -d --query '[?!not_null(tags.run)]|[?powerState==`"VM running"`].id'
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/329469.html
下一篇:根據源分支部署到不同的環境
