サーバーへの SSH へのシステム コールを作成し、文字列をエコーしようとしています。文字列は ruby によって定義され、ドル記号が含まれています。
#!/usr/bin/env ruby
string = '$$%%$#@%$#@%325dg345345'
puts %x(ssh server "echo \'#{string}\'")
実行すると、返される出力は文字列ではありません。リモート サーバーは、ドル記号を変数として解釈しています。これを防ぐために私ができる巧妙なエスケープの形式はありますか? 文字はランダムなので、ドル記号をエスケープするように文字列を編集するだけでは機能しません。