summaryrefslogtreecommitdiff
path: root/doc/shell.rd.ja
diff options
context:
space:
mode:
Diffstat (limited to 'doc/shell.rd.ja')
-rw-r--r--doc/shell.rd.ja150
1 files changed, 75 insertions, 75 deletions
diff --git a/doc/shell.rd.ja b/doc/shell.rd.ja
index 33e5a9e..053b11f 100644
--- a/doc/shell.rd.ja
+++ b/doc/shell.rd.ja
@@ -5,142 +5,142 @@
=begin
-= Ū
+= 目的
-rubysh/cshΤ褦˥ޥɤμ¹Եڤӥե륿󥰤ڤ˹Ԥ.
-sh/cshʸrubyεǽѤƼ¸.
+ruby上でsh/cshのようにコマンドの実行及びフィルタリングを手軽に行う.
+sh/cshの制御文はrubyの機能を用いて実現する.
-= ʥ饹
+= 主なクラス一覧
== Shell
-Shell֥Ȥϥȥǥ쥯ȥ, ޥɼ¹ԤϤ
-Хѥˤʤޤ.
+Shellオブジェクトはカレントディレクトリを持ち, コマンド実行はそこからの
+相対パスになります.
--- Shell#cwd
--- Shell#dir
--- Shell#getwd
--- Shell#pwd
- ȥǥ쥯ȥ֤
+ カレントディレクトリを返す。
--- Shell#system_path
- ޥɥѥ֤
+ コマンドサーチパスの配列を返す。
--- Shell#umask
- umask֤
+ umaskを返す。
== Filter
-ޥɤμ¹Է̤Ϥ٤FilterȤƤޤ. Enumerableinclude
-Ƥޤ.
+コマンドの実行結果はすべてFilterとしてかえります. Enumerableをincludeし
+ています.
-= ʥ᥽åɰ
+= 主なメソッド一覧
-== ޥ
+== コマンド定義
-OSΥޥɤ¹ԤˤϤޤ, ShellΥ᥽åɤȤޤ.
+OS上のコマンドを実行するにはまず, Shellのメソッドとして定義します.
-) ޥɤʤȤľܼ¹ԤǤShell#systemޥɤ⤢ޤ.
+注) コマンドを定義しなくとも直接実行できるShell#systemコマンドもあります.
--- Shell.def_system_command(command, path = command)
- ShellΥ᥽åɤȤcommandϿޤ.
+ Shellのメソッドとしてcommandを登録します.
- )
+ 例)
Shell.def_system_command "ls"
- ls
+ ls を定義
Shell.def_system_command "sys_sort", "sort"
- sortޥɤsys_sortȤ
+ sortコマンドをsys_sortとして定義
--- Shell.undef_system_command(command)
- commandޤ.
+ commandを削除します.
--- Shell.alias_command(ali, command, *opts) {...}
- commandalias򤷤ޤ.
+ commandのaliasをします.
- )
+ 例)
Shell.alias_command "lsC", "ls", "-CBF", "--show-control-chars"
Shell.alias_command("lsC", "ls"){|*opts| ["-CBF", "--show-control-chars", *opts]}
--- Shell.unalias_command(ali)
- commandaliasޤ.
+ commandのaliasを削除します.
--- Shell.install_system_commands(pre = "sys_")
- system_pathˤƤμ¹ԲǽեShell. ᥽
- ̾ϸΥե̾ƬpreĤΤȤʤ.
+ system_path上にある全ての実行可能ファイルをShellに定義する. メソッ
+ ド名は元のファイル名の頭にpreをつけたものとなる.
-==
+== 生成
--- Shell.new
- ץΥȥǥ쥯ȥ򥫥ȥǥ쥯ȥȤShell
- ֥Ȥޤ.
+ プロセスのカレントディレクトリをカレントディレクトリとするShellオ
+ ブジェクトを生成します.
--- Shell.cd(path)
- path򥫥ȥǥ쥯ȥȤShell֥Ȥޤ.
+ pathをカレントディレクトリとするShellオブジェクトを生成します.
-== ץ
+== プロセス管理
--- Shell#jobs
- 塼󥰤Ƥjobΰ֤.
+ スケジューリングされているjobの一覧を返す.
--- Shell#kill sig, job
- job˥ʥsig
+ jobにシグナルsigを送る
-== ȥǥ쥯ȥ
+== カレントディレクトリ操作
--- Shell#cd(path, &block)
--- Shell#chdir
- ȥǥ쥯ȥpathˤ. ƥ졼ȤƸƤФ줿Ȥˤ
- ֥å¹Τߥȥǥ쥯ȥѹ.
+ カレントディレクトリをpathにする. イテレータとして呼ばれたときには
+ ブロック実行中のみカレントディレクトリを変更する.
--- Shell#pushd(path = nil, &block)
--- Shell#pushdir
- ȥǥ쥯ȥǥ쥯ȥꥹåˤĤ, ȥǥ쥯
- ȥpathˤ. pathά줿Ȥˤ, ȥǥ쥯ȥ
- ǥ쥯ȥꥹåΥȥåפ򴹤. ƥ졼ȤƸƤФ줿
- ˤ, ֥å¹Τpushd.
+ カレントディレクトリをディレクトリスタックにつみ, カレントディレク
+ トリをpathにする. pathが省略されたときには, カレントディレクトリと
+ ディレクトリスタックのトップを交換する. イテレータとして呼ばれたと
+ きには, ブロック実行中のみpushdする.
--- Shell#popd
--- Shell#popdir
- ǥ쥯ȥꥹåݥåפ, 򥫥ȥǥ쥯ȥˤ.
+ ディレクトリスタックからポップし, それをカレントディレクトリにする.
-== ե/ǥ쥯ȥ
+== ファイル/ディレクトリ操作
--- Shell#foreach(path = nil, &block)
- pathեʤ, File#foreach
- pathǥ쥯ȥʤ, Dir#foreach
+ pathがファイルなら, File#foreach
+ pathがディレクトリなら, Dir#foreach
--- Shell#open(path, mode)
- pathեʤ, File#open
- pathǥ쥯ȥʤ, Dir#open
+ pathがファイルなら, File#open
+ pathがディレクトリなら, Dir#open
--- Shell#unlink(path)
- pathեʤ, File#unlink
- pathǥ쥯ȥʤ, Dir#unlink
+ pathがファイルなら, File#unlink
+ pathがディレクトリなら, Dir#unlink
--- Shell#test(command, file1, file2)
--- Shell#[command, file1, file2]
- եƥȴؿtestƱ.
- )
+ ファイルテスト関数testと同じ.
+ 例)
sh[?e, "foo"]
sh[:e, "foo"]
sh["e", "foo"]
@@ -149,75 +149,75 @@ OSΥޥɤ¹ԤˤϤޤ, ShellΥ᥽åɤȤޤ.
--- Shell#mkdir(*path)
- Dir.mkdirƱ(ʣ)
+ Dir.mkdirと同じ(複数可)
--- Shell#rmdir(*path)
- Dir.rmdirƱ(ʣ)
+ Dir.rmdirと同じ(複数可)
-== ޥɼ¹
+== コマンド実行
--- System#system(command, *opts)
- command¹Ԥ.
- )
+ commandを実行する.
+ 例)
print sh.system("ls", "-l")
sh.system("ls", "-l") | sh.head > STDOUT
--- System#rehash
- ϥå夹
+ リハッシュする
--- Shell#transact &block
- ֥åǤshellselfȤƼ¹Ԥ.
- )
+ ブロック中ではshellをselfとして実行する.
+ 例)
sh.transact{system("ls", "-l") | head > STDOUT}
--- Shell#out(dev = STDOUT, &block)
- transactƤӽФη̤dev˽Ϥ.
+ transactを呼び出しその結果をdevに出力する.
-== ޥ
+== 内部コマンド
--- Shell#echo(*strings)
--- Shell#cat(*files)
--- Shell#glob(patten)
--- Shell#tee(file)
- ϼ¹Ԥ, ƤȤFilter֥Ȥ֤ޤ.
+ これらは実行すると, それらを内容とするFilterオブジェクトを返します.
--- Filter#each &block
- ե륿ΰԤĤblockϤ.
+ フィルタの一行ずつをblockに渡す.
--- Filter#<(src)
- srcե륿ϤȤ. src, ʸʤХե, IOǤ
- Ф򤽤ΤޤϤȤ.
+ srcをフィルタの入力とする. srcが, 文字列ならばファイルを, IOであれ
+ ばそれをそのまま入力とする.
--- Filter#>(to)
- srcե륿νϤȤ. to, ʸʤХե, IOǤ
- Ф򤽤Τޤ޽ϤȤ.
+ srcをフィルタの出力とする. toが, 文字列ならばファイルに, IOであれ
+ ばそれをそのまま出力とする.
--- Filter#>>(to)
- srcե륿ɲä. to, ʸʤХե, IOǤ
- 򤽤Τޤ޽ϤȤ.
+ srcをフィルタに追加する. toが, 文字列ならばファイルに, IOであれば
+ それをそのまま出力とする.
--- Filter#|(filter)
- ѥ׷
+ パイプ結合
--- Filter#+(filter)
- filter1 + filter2 filter1νϤθ, filter2νϤԤ.
+ filter1 + filter2 は filter1の出力の後, filter2の出力を行う.
--- Filter#to_a
--- Filter#to_s
-== ȹߥޥ
+== 組込みコマンド
--- Shell#atime(file)
--- Shell#basename(file, *opt)
@@ -239,7 +239,7 @@ OSΥޥɤ¹ԤˤϤޤ, ShellΥ᥽åɤȤޤ.
--- Shell#truncate(file, length)
--- Shell#utime(atime, mtime, *file)
- File饹ˤƱ̾Υ饹᥽åɤƱǤ.
+ これらはFileクラスにある同名のクラスメソッドと同じです.
--- Shell#blockdev?(file)
--- Shell#chardev?(file)
@@ -263,7 +263,7 @@ OSΥޥɤ¹ԤˤϤޤ, ShellΥ᥽åɤȤޤ.
--- Shell#writable_real?(file)
--- Shell#zero?(file)
- FileTest饹ˤƱ̾Υ饹᥽åɤƱǤ.
+ これらはFileTestクラスにある同名のクラスメソッドと同じです.
--- Shell#syscopy(filename_from, filename_to)
--- Shell#copy(filename_from, filename_to)
@@ -273,9 +273,9 @@ OSΥޥɤ¹ԤˤϤޤ, ShellΥ᥽åɤȤޤ.
--- Shell#makedirs(*filenames)
--- Shell#install(filename_from, filename_to, mode)
- FileTools饹ˤƱ̾Υ饹᥽åɤƱǤ.
+ これらはFileToolsクラスにある同名のクラスメソッドと同じです.
- ¾, ʲΤΤꥢƤޤ.
+ その他, 以下のものがエイリアスされています.
--- Shell#cmp <- Shell#compare
--- Shell#mv <- Shell#move
@@ -283,7 +283,7 @@ OSΥޥɤ¹ԤˤϤޤ, ShellΥ᥽åɤȤޤ.
--- Shell#rm_f <- Shell#safe_unlink
--- Shell#mkpath <- Shell#makedirs
-= ץ
+= サンプル
== ex1