Ruby

シングルクォートを含むテキストをshellに食わせるには

More than 1 year has passed since last update.

やりたいこと

stringは改行やシングルクォート、マルチバイト文字を含むフリーテキスト。

`echo #{string} | somecommand`

結論

string.gsub(/'/, "'\\\\''") 

理屈

Rubyによるシングルクォートのエスケープの罠

shellでのシングルクォートのエスケープの罠