SSH経由でWindowsボックスで実行されるコマンドとして使用される文字列を作成しています。
コマンドは、その要素を二重引用符で囲んで実行する必要があるため、コマンド全体を一重引用符で囲む必要があります。ただし、これは、インライン補間を使用する機能を失うことを意味します。
それで、一重引用符で囲まれた文字列に対してインライン補間を使用できる方法はありますか?
SSH経由でWindowsボックスで実行されるコマンドとして使用される文字列を作成しています。
コマンドは、その要素を二重引用符で囲んで実行する必要があるため、コマンド全体を一重引用符で囲む必要があります。ただし、これは、インライン補間を使用する機能を失うことを意味します。
それで、一重引用符で囲まれた文字列に対してインライン補間を使用できる方法はありますか?
次のように%Q{コマンド}を使用します。
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})