簡體   English   中英

如何在 ruby 中打印雙引號

[英]How can I print double quotes in ruby

我試圖在 AWS 控制台中將 output 帶入 Cloudwatch 指標過濾模式,如下所示

[w1,w2,w3,w4=!"*10.1.1.1*"&&w5=!"*10.1.1.2*"&&w5="*admin*"]

對於我的 ruby aws sdk 腳本之一,其以下 function

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 控制台 output 中,我可以看到如下所示的 output 沒有 w4 的“(雙引號)。

[w1,w2,w3,w4=!*10.1.1.1*&&w4=!*10.1.1.2*&&w5="*admin*"]

請幫我解決這個問題。

這是你所期望的嗎?

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*"]

如果您想將變量或腳本放在字符串中,我建議您可以使用雙引號和#{}來做到這一點。 更清楚了。 而像"你可以用\"這樣的特殊字符來寫它們。

沿着這條路,

filter_pattern = '[w1,w2,w3,w4!="'"*#{data_of_ips[0]}*"'"&&w4!="'"*#{data_of_ips[1]}*"'"w5="*admin"]'

使用“'”(雙引號單引號雙引號)並得到預期低於 output

filter_pattern = '[w1,w2,w3,w4!="*10.1.1.1*"&&w4!="*10.1.1.2*",w5"*admin*"]'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM