我正在构建一个字符串,该字符串将用作通过 SSH 在 Windows 机器上运行的命令。
该命令必须在其元素用双引号括起来的情况下执行,所以我必须将命令作为一个整体用单引号括起来。然而,这意味着我失去了使用内联插值的能力。
那么有没有办法我仍然可以在单引号字符串上使用内联插值?
我正在构建一个字符串,该字符串将用作通过 SSH 在 Windows 机器上运行的命令。
该命令必须在其元素用双引号括起来的情况下执行,所以我必须将命令作为一个整体用单引号括起来。然而,这意味着我失去了使用内联插值的能力。
那么有没有办法我仍然可以在单引号字符串上使用内联插值?
使用 %Q{command} 如下:
puts %Q{Hello "xyz"} => Hello "xyz"
puts %Q{"Hello" 'xyz'} => "Hello" 'xyz'
不,您不能对单引号字符串使用插值。相反,您可以转义双引号。
puts "I say \"Hello\""
# >> I say "Hello"
puts %Q(I say "Hello", you say #{goodbye})