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

singleton method Shell.def_system_command

def_system_command(command, path = command) -> nil[permalink][rdoc]

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

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

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

例)

require 'shell'
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
  }
}