我正在嘗試在 AWS 控制臺中為 Cloudwatch 指標過濾器模式帶來如下輸出
[w1,w2,w3,w4=!"*10.1.1.1*"&&w5=!"*10.1.1.2*"&&w5="*admin*"]
對于我的具有以下功能的 ruby?? aws sdk 腳本之一
data_of_ips = ["10.1.1.1", "10.1.1.2"]
def run_me(data_of_ips)
:::
:::
filter_pattern = '[w1,w2,w3,w4!='"*#{data_of_ips[0]*"'&&w4!='"*#{data_of_ips[1]*"',w5="*admin*"]'
但在 aws 控制臺輸出中,我可以看到如下輸出,w4 沒有 "(雙引號)。
[w1,w2,w3,w4=!*10.1.1.1*&&w4=!*10.1.1.2*&&w5="*admin*"]
請幫我解決這個問題。
uj5u.com熱心網友回復:
這是你期望的嗎?
data_of_ips = ["10.1.1.1", "10.1.1.2"]
def run_me(data_of_ips)
"[w1,w2,w3,w4!=\"*#{data_of_ips[0]}*\"&&w4!=\"*#{data_of_ips[1]}*\"&&w5=\"*admin*\"]"
end
puts run_me(data_of_ips)
# => [w1,w2,w3,w4!='"*10.1.1.1*"&&w4!="*10.1.1.2*"&&w5="*admin*"]
如果你想把變數或腳本放在一個字串中,我建議你可以使用雙引號 with#{}來做到這一點。更清楚了。還有像"你這樣的特殊字符可以\"用來寫它們。
uj5u.com熱心網友回復:
我是這樣修復的:
filter_pattern = '[w1,w2,w3,w4!="'"*#{data_of_ips[0]}*"'"&&w4!="'"*#{data_of_ips[1]}*"'"w5="*admin"]'
我使用了"'"(double-quotes single-quote double-quotes) 并得到了下面的預期輸出:
filter_pattern = '[w1,w2,w3,w4!="*10.1.1.1*"&&w4!="*10.1.1.2*",w5"*admin*"]'
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/367935.html
標籤:红宝石 亚马逊云表 aws-sdk-ruby
