-xオプションはファイル中のスクリプトを抽出して実行
Rubyで-xオプションをつけると、ファイル中のスクリプトを抽出して実行します。
たとえば以下のファイルをsample.txtとしましょう。
次のようなプログラムをRubyで実行したらどうなるでしょう。 #!/usr/bin/ruby p "Hello" __END__ 結果は標準出力に"Hello"と表示されます。引用符も表示されるんですよ。
そしてコマンドラインから以下のように入力します。
ruby -x sample.txt
実行結果です。
"Hello"
抽出するスクリプトの開始は、行頭の#!と行中のrubyという文字列で判断します。スクリプトの終了は__END__またはCTRL+D, CTRL+Z, ファイル終端で判断します。
ディレクトリ名を-xオプションの後ろにつけると、そこにcdしてから実行開始します。たとえばさっきのsample.txtが/tmpディレクトリにあるなら、
ruby -x/tmp sample.txt
のようにして実行することができます。