変数にたくさんのテキストがあるとしましょうsome_var
、それはほとんど何でもかまいません。
some_var = "Hello, I'm a \"fancy\" variable | with a pipe, double- and single-quotes (terminated and unterminated), and more."
また、CLI Ruby アプリケーションで、ユーザーがそのテキストを任意の Unix コマンドにパイプできるようにしたいとします。のようなものを入力できるようsome_var | espeak -a 200 -v en-us
にしました。パイプの右側のコマンドは、システムにインストールされている UNIX CLI ツールです。
また、変数の選択とパイプを入力から分離する処理を既に行っているとしましょう。そのため、パイプの後のコマンドが 100% 確実にわかります。(この場合、変数の内容を にパイプしますespeak -a 200 -v en-us
。)
どうすればいいですか?%x[]
バックティック法やリテラルは使えないと思います。私は次のことをやってみました...
system("echo '#{some_var}' | espeak -a 200 -v en-us")
...しかし、特殊文字はすべてを台無しにし、特殊文字を削除することはできません。私は何をすべきか?