Ruby 1.9.2 リファレンスマニュアル > ライブラリ一覧 > library shell > class Shell > def_system_command

singleton method Shell.def_system_command

def_system_command(command, path = command) -> nil

Shellのメソッドとしてcommandを登録します.

OS上のコマンドを実行するにはまず, Shellのメソッドとして定義します. 注) コマンドを定義しなくとも直接実行できるShell#systemコマンドもあります.

[PARAM] command:
Shell のメソッドとして定義するコマンドを文字列で指定します。
[PARAM] path:
command のパスを指定します。 指定しない場合はcommand と同じになります。

例)

Shell.def_system_command "ls"
# ls を定義

Shell.def_system_command "sys_sort", "sort"
# sortコマンドをsys_sortとして定義

sh = Shell.new
sh.transact {
  ls.each { |l|
    puts l
  }
  (ls("-l") | sys_sort("-k 5")).each {|l|
    puts l
  }
}