0001-add-missing-entries.patch

okkez (okkez _), 04/09/2010 04:44 pm

Download (51.3 kB)

b/refm/api/src/LIBRARIES
362 362
#@end
363 363
#@end
364 364
shell
365
shell/error
366
shell/command-processor
367
shell/process-controller
368
shell/filter
369
shell/system-command
370
shell/builtin-command
365 371
shellwords
366 372
singleton
367 373
#@if("1.8.1" <= version and version < "1.9.1")
b/refm/api/src/shell.rd
1
require shell/error
2
require shell/command-processor
3
require shell/process-controller
4

  
1 5
Ruby 上で sh/csh のようにコマンドの実行及びフィルタリングを手軽に行うためのライブラリです。
2 6
#@# Author: Keiju ISHITSUKA
3 7

  
......
54 58

  
55 59

  
56 60

  
57
= class Shell::Filter < Object
58

  
59
include Enumerable
60

  
61
コマンドの実行結果はすべてShell::Filterとしてかえります. 
62

  
63
== Class Methods
64

  
65
--- new -> Shell::Filter
66

  
67
執筆者募集。
68
Shell::Filter クラス のインスタンスを返します。
69
通常このnewを直接使う機会はすくないでしょう。
70

  
71
== Instance Methods
72

  
73
--- each(rs = nil) -> ()
74

  
75
フィルタの一行ずつをblockに渡します。
76

  
77
@param rs レコードセパレーターを表す文字列を指定します。
78
          nil ならば、[[m:Shell.record_separator]]の値が使用されます。
79

  
80
使用例
81
  sh = Shell.new
82
  sh.cat("/etc/passwd").each { |line|
83
    puts line
84
  }
85

  
86
--- <(src) -> self
87

  
88
srcをフィルタの入力とする. srcが, 文字列ならばファイルを, IOオブジェクトであれ
89
ばそれをそのまま入力とする.
90

  
91
@param src フィルタの入力を, 文字列もしくは,IO オブジェクトで指定します.
92

  
93
使用例
94
  Shell.def_system_command("head")
95
  sh = Shell.new
96
  sh.transact {
97
    (sh.head("-n 30") < "/etc/passwd") > "ugo.txt"
98
  }
99

  
100
--- >(to) -> self
101

  
102
toをフィルタの出力とする. toが, 文字列ならばファイルに, IOオブジェクトであれ
103
ばそれをそのまま出力とする.
104

  
105
@param to 出力先を指定します.文字列ならばファイルに,IOオブジェクトならばそれに出力します.
106

  
107
使用例
108
  Shell.def_system_command("tail")
109
  sh = Shell.new
110
  sh.transact {
111
    (sh.tail("-n 3") < "/etc/passwd") > File.open("tail.out", "w")
112
    #(sh.tail("-n 3") < "/etc/passwd") > "tail.out" # と同じ.
113
  }
114

  
115
--- >>(to) -> self
116

  
117
toをフィルタに追加する. toが, 文字列ならばファイルに, IOオブジェクトであれば
118
それをそのまま出力とする.
119

  
120
@param to 出力先を指定します。文字列ならばファイルに、IOオブジェクトならばそれに出力します。
121

  
122
使用例
123
  Shell.def_system_command("tail")
124
  sh = Shell.new
125
  sh.transact {
126
    (sh.tail("-n 3") < "/etc/passwd") >> "tail.out" 
127
    #(sh.tail("-n 3") < "/etc/passwd") >> File.open("tail.out", "w") # でも同じ.
128
  }
129

  
130
--- |(filter) -> object
131

  
132
パイプ結合を filter に対して行います。
133

  
134
@param filter Shell::Filter オブジェクトを指定します.
135

  
136
@return filter を返します.
137

  
138
使用例
139
  Shell.def_system_command("tail")
140
  Shell.def_system_command("head")
141
  Shell.def_system_command("wc")
142
  sh = Shell.new
143
  sh.transact {
144
    i = 1
145
    while i <= (cat("/etc/passwd") | wc("-l")).to_s.chomp.to_i
146
      puts (cat("/etc/passwd") | head("-n #{i}") | tail("-n 1")).to_s
147
      i += 1
148
    end
149
  }
150

  
151
--- +(filter)
152
執筆者募集
153

  
154
filter1 + filter2 は filter1の出力の後, filter2の出力を行う.
155

  
156
--- to_a -> Array
157
--- to_s -> String
158

  
159
実行結果を文字列、それぞれ文字列の配列で返します。
160

  
161
使用例
162
  Shell.def_system_command("wc")
163
  sh = Shell.new
164
  puts sh.cat("/etc/passwd").to_a
165

  
166
  sh.transact {
167
    puts (cat("/etc/passwd") | wc("-l")).to_s
168
  }
169

  
170
--- input
171
--- input=
172
執筆者募集
173

  
174
フィルターを設定します。
175

  
176 61
= class Shell < Object
62
extend Exception2MessageMapper
63
include Shell::Error
177 64

  
178
Shellオブジェクトはカレントディレクトリを持ち, 
65
Shell オブジェクトはカレントディレクトリを持ち, 
179 66
コマンド実行はそこからの相対パスになります.
180 67

  
181 68
== Class Methods
182 69

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

  
187 70
--- def_system_command(command, path = command) -> nil
188 71

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

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

  
194 77
@param command Shell のメソッドとして定義するコマンドを文字列で指定します。
195 78

  
......
355 238

  
356 239
--- debug -> bool | Integer
357 240
--- debug? -> bool | Integer
241
#@todo
242

  
243
デバッグ用フラグを参照します。
244

  
358 245
--- debug=(val) 
359 246

  
360
?ǥХå??ѤΥե饰?????ꤪ???ӡ????Ȥ??Ԥ??ޤ???
247
?ǥХå??ѤΥե饰?????ꤷ?ޤ???
361 248

  
362 249
@param val bool 値や整数値を指定します。詳細は下記を参照してください。
363 250

  
......
394 281

  
395 282
--- verbose -> bool  
396 283
--- verbose? -> bool
284
#@todo
285

  
397 286
--- verbose=(flag)
398 287

  
399 288
true ならば冗長な出力の設定を行います。
400 289

  
401 290
@param flag true ならば冗長な出力の設定を行います。
402 291

  
292

  
293
--- cascade -> bool
294
#@todo
295

  
296
--- cascade=(flag)
297
#@todo
298

  
299
--- notify(*opts){|message| ... } -> String
300
#@todo
301

  
302
#@since 1.9.1
303

  
304
--- debug_output_exclusive_unlock{ ... } -> Mutex | nil
305
#@todo
306

  
307
@see [[m:Mutex#exclusive_unlock]]
308

  
309
--- debug_output_lock -> Mutex
310
#@todo
311

  
312
@see [[m:Mutex#lock]]
313

  
314
--- debug_output_locked? -> bool
315
#@todo
316

  
317
@see [[m:Mutex#locked?]]
318

  
319
--- debug_output_synchronize
320
#@todo
321

  
322
@see [[m:Mutex#synchronize]]
323

  
324
--- debug_output_try_lock -> bool
325
#@todo
326

  
327
@see [[m:Mutex#try_lock]]
328

  
329
--- debug_output_unlock -> Mutex | nil
330
#@todo
331

  
332
@see [[m:Mutex#unlock]]
333

  
334
#@end
335

  
403 336
== Instance Methods
404 337
#@#=== プロセス管理
405 338

  
......
432 365
  p sh.system_path #=> ["./"]
433 366

  
434 367
--- umask -> object
368
#@todo
435 369

  
436 370
umaskを返します。
437 371

  
372
--- umask=(umask)
373
#@todo
374

  
438 375
--- jobs -> Array
439 376

  
440
執筆者募集. スケジューリングされているjobの一覧を返す.
377
スケジューリングされているjobの一覧を返します。
441 378

  
442
--- kill(sig, job)
379
--- kill(signal, job) -> Integer
380
#@todo
443 381

  
444
執筆者募集. jobにシグナルsigを送る.
382
ジョブにシグナルを送ります。
383

  
384
@param signal
385

  
386
@param job
445 387

  
446 388
#@#=== カレントディレクトリ操作
447 389

  
......
508 450
  sh.popd
509 451
  p sh.cwd #=> "/tmp"
510 452

  
511
#@#=== ファイル/ディレクトリ操作
512
--- foreach(path = nil, &block) -> ()
513

  
514
pathがファイルなら, File#foreach
515
pathがディレクトリなら, Dir#foreach
516
の動作をします。
517

  
518
@param path ファイルもしくはディレクトリのパスを文字列で指定します。
519

  
520
使用例
521
  require 'shell'
522
  Shell.verbose = false
523
  sh = Shell.new
524
  sh.foreach("/tmp"){|f|
525
    puts f
526
  }
527

  
528
--- open(path, mode) -> object
529

  
530
pathがファイルなら, File#open
531
pathがディレクトリなら, Dir#open
532
の動作をします。
533

  
534
@param path くわしくは、[[m:File.open]], [[m:Dir.open]]を参照してください。
535

  
536
@param mode くわしくは、[[m:File.open]], [[m:Dir.open]]を参照してください。
537

  
538
--- unlink(path) -> self
539

  
540
pathがファイルなら, File#unlink
541
pathがディレクトリなら, Dir#unlink
542
の動作をします。
543

  
544
@param path くわしくは、[[m:File.unlink]], [[m:Dir.unlink]]を参照してください。
545

  
546
--- test(command, file1, file2 = nil) -> bool
547
--- [](command, file1, file2 = nil) -> bool
548

  
549
執筆者募集。 ファイルテスト関数testと同じです。
550

  
551
@param command ファイルテスト関数testと同じです。
552

  
553
@param file1 文字列でファイルへのパスを指定します。
554
             ファイルテスト関数testに渡される第一引数となります。
555

  
556
@param file2 文字列でファイルへのパスを指定します。
557
             ファイルテスト関数testに渡される第二引数となります。省略可。
558

  
559

  
560
例:
561

  
562
  require 'shell'
563
  Shell.verbose = false
564
  sh = Shell.new
565
  begin
566
    sh.mkdir("foo")
567
  rescue
568
  end
569
  p sh[?e, "foo"]         #=> true
570
  p sh[:e, "foo"]         #=> true
571
  p sh["e", "foo"]        #=> true
572
  p sh[:exists?, "foo"]   #=> true
573
  p sh["exists?", "foo"]  #=> true
574

  
575
--- mkdir(*path) -> Array
576

  
577
Dir.mkdirと同じです。 (複数可)
578

  
579
@param path 作成するディレクトリ名を文字列で指定します。
580

  
581
@return 作成するディレクトリの一覧の配列を返します。
582

  
583
使用例
584
  require 'shell'
585
  Shell.verbose = false
586
  sh = Shell.new
587
  begin
588
    p sh.mkdir("foo") #=> ["foo"]
589
  rescue => err
590
    puts err
591
  end
592

  
593

  
594
--- rmdir(*path) -> ()
595

  
596
Dir.rmdirと同じです。 (複数可)
597

  
598
@param path 削除するディレクトリ名を文字列で指定します。
599

  
600
--- system(command, *opts) -> Shell::Filter
601

  
602
commandを実行する.
603

  
604
@param command 実行するコマンドのパスを文字列で指定します。
605

  
606
@param opts command のオプションを文字列で指定します。複数可。
607

  
608
使用例:
609

  
610
  require 'shell'
611
  Shell.verbose = false
612
  sh = Shell.new
613

  
614
  print sh.system("ls", "-l")
615
  Shell.def_system_command("head")
616
  sh.system("ls", "-l") | sh.head("-n 3") > STDOUT
617

  
618
--- rehash -> Hash
619
執筆者募集。
620
リハッシュする。通常使う事はありません。
621

  
622
--- transact { ... } -> object
623

  
624
ブロック中で shell を self として実行します。
625

  
626
例:
627

  
628
  require 'shell'
629
  Shell.def_system_command("head")
630
  sh = Shell.new
631
  sh.transact{
632
    system("ls", "-l") | head > STDOUT
633
    # transact の中では、
634
    # sh.system("ls", "-l") | sh.head > STDOUT と同じとなる。
635
  }
636

  
637
--- out(dev = STDOUT, &block) -> ()
638

  
639
[[m:Shell#transact]] を呼び出しその結果を dev に出力します。
640

  
641
@param dev  出力先をIO オブジェクトなどで指定します。
642

  
643
@param block transact 内部で実行するシェルを指定します。
644

  
645

  
646
使用例:
647
  require 'shell'
648
  Shell.def_system_command("head")
649
  sh = Shell.new
650
  File.open("out.txt", "w"){ |fp|
651
    sh.out(fp) {
652
      system("ls", "-l") | head("-n 3")
653
    }
654
  }
655

  
656

  
657
#@#=== 内部コマンド
658

  
659
--- echo(*strings) -> Shell::Filter
660
実行すると, それらを内容とする Filter オブジェクトを返します.
661

  
662
@param strings シェルコマンド echo に与える引数を文字列で指定します。
663

  
664
動作例
665
  require 'shell'
666
  Shell.def_system_command("head")
667
  sh = Shell.new
668
  sh.transact {
669
    glob("*.txt").to_a.each { |file|
670
      file.chomp!
671
      cat(file).each { |l|
672
        echo(l) | tee(file + ".tee") >> "all.tee"
673
      }
674
    }
675
  }
676

  
677

  
678
--- cat(*files) -> Shell::Filter
679
実行すると, それらを内容とする Filter オブジェクトを返します.
680

  
681
@param files シェルコマンド cat に与えるファイル名を文字列で指定します。
682

  
683
動作例
684
  require 'shell'
685
  Shell.def_system_command("head")
686
  sh = Shell.new
687
  sh.transact {
688
    glob("*.txt").to_a.each { |file|
689
      file.chomp!
690
      cat(file).each { |l|
691
        echo(l) | tee(file + ".tee") >> "all.tee"
692
      }
693
    }
694
  }
695

  
696

  
697
--- glob(patten) -> Shell::Filter
698
実行すると, それらを内容とする Filter オブジェクトを返します.
699

  
700
@param patten シェルコマンド glob に与えるパターンを指定します。
701
              パターンの書式については、[[m:Dir.[] ]]を参照してください。
702

  
703
動作例
704
  require 'shell'
705
  Shell.def_system_command("head")
706
  sh = Shell.new
707
  sh.transact {
708
    glob("*.txt").to_a.each { |file|
709
      file.chomp!
710
      cat(file).each { |l|
711
        echo(l) | tee(file + ".tee") >> "all.tee"
712
      }
713
    }
714
  }
715

  
716
@see [[m:Dir.[] ]]
717

  
718

  
719
--- tee(file) -> Shell::Filter
720

  
721
実行すると, それらを内容とする Filter オブジェクトを返します.
722

  
723
@param file シェルコマンドtee に与えるファイル名を文字列で指定します。
724

  
725
動作例
726
  require 'shell'
727
  Shell.def_system_command("head")
728
  sh = Shell.new
729
  sh.transact {
730
    glob("*.txt").to_a.each { |file|
731
      file.chomp!
732
      cat(file).each { |l|
733
        echo(l) | tee(file + ".tee") >> "all.tee"
734
      }
735
    }
736
  }
737

  
738
#@#=== 組込みコマンド
739

  
740
--- atime(filename) -> Time
741
Fileクラスにある同名のクラスメソッドと同じです.
742

  
743
@param filename ファイル名を表す文字列か IO オブジェクトを指定します。
744

  
745
@see [[m:File.atime]]
746

  
747
--- basename(filename, suffix = "")     -> String
748
Fileクラスにある同名のクラスメソッドと同じです.
749

  
750
@param filename ファイル名を表す文字列を指定します。
751

  
752
@param suffix サフィックスを文字列で与えます。'.*' という文字列を与えた場合、'*' はワイルドカードとして働き
753
              '.' を含まない任意の文字列にマッチします。
754

  
755
@see [[m:File.basename]]
756

  
757

  
758
--- chmod(mode, *filename)    -> Integer
759

  
760
Fileクラスにある同名のクラスメソッドと同じです.
761

  
762
@param filename ファイル名を表す文字列を指定します。
763

  
764
@param mode [[man:chmod(2)]] と同様に整数で指定します。
765

  
766
@see [[m:File.chmod]]
767

  
768
--- chown(owner, group, *filename)    -> Integer
769
Fileクラスにある同名のクラスメソッドと同じです.
770

  
771
@param owner [[man:chown(2)]] と同様に数値で指定します。nil または -1 を指定することで、オーナーを現在の>ままにすることができます。
772

  
773
@param group [[man:chown(2)]] と同様に数値で指定します。nil または -1 を指定することで、グループを現在の>ままにすることができます。
774

  
775
@param filename ファイル名を表す文字列を指定します。
776

  
777
@see [[m:File.chown]]
778

  
779
--- ctime(filename)    -> Time
780
Fileクラスにある同名のクラスメソッドと同じです.
781

  
782
@param filename ファイル名を表す文字列か IO オブジェクトを指定します。
783

  
784
@see [[m:File.ctime]]
785

  
786
--- delete(*filename)    -> Integer
787
Fileクラスにある同名のクラスメソッドと同じです.
788

  
789
@param filename ファイル名を表す文字列を指定します。
790

  
791
@see [[m:File.delete]]
792

  
793
--- dirname(filename)    -> String
794

  
795
Fileクラスにある同名のクラスメソッドと同じです.
796

  
797
@param filename ファイル名を表す文字列を指定します。
798

  
799
@see [[m:File.dirname]]
800

  
801
--- ftype(filename)    -> String
802

  
803
Fileクラスにある同名のクラスメソッドと同じです.
804

  
805
@param filename ファイル名を表す文字列を指定します。
806

  
807
@see [[m:File.ftype]]
808

  
809
--- join(*item)    -> String
810
Fileクラスにある同名のクラスメソッドと同じです.
811

  
812
@param item 連結したいディレクトリ名やファイル名を文字列で与えます。
813

  
814
@see [[m:File.join]]
815

  
816
--- link(old, new)    -> 0
817

  
818
Fileクラスにある同名のクラスメソッドと同じです.
819

  
820
@param old ファイル名を表す文字列を指定します。
821

  
822
@param new ファイル名を表す文字列を指定します。
823

  
824
@see [[m:File.link]]
825

  
826

  
827
--- lstat(filename)   -> File::Stat
828 453

  
829
Fileクラスにある同名のクラスメソッドと同じです.
830

  
831
@param filename ファイル名を表す文字列を指定します。
832

  
833
@see [[m:File.lstat]]
834

  
835
--- mtime(filename)    -> Time
836

  
837
Fileクラスにある同名のクラスメソッドと同じです.
838

  
839
@param filename ファイル名を表す文字列か IO オブジェクトを指定します。
840

  
841
@see [[m:File.mtime]]
842

  
843
--- readlink(path)    -> String
844
Fileクラスにある同名のクラスメソッドと同じです.
845

  
846
@param path シンボリックリンクを表す文字列を指定します。
847

  
848
@see [[m:File.readlink]]
849

  
850
--- rename(from, to)    -> 0
851
Fileクラスにある同名のクラスメソッドと同じです.
852

  
853
@param from ファイルの名前を文字列で与えます。
854

  
855
@param to 新しいファイル名を文字列で与えます。
856

  
857
@see [[m:File.rename]]
858

  
859
--- split(pathname)    -> [String]
860

  
861
Fileクラスにある同名のクラスメソッドと同じです.
862

  
863
@param pathname パス名を表す文字列を指定します。
864

  
865
@see [[m:File.split]]
866

  
867
--- stat(filename)    -> File::Stat
868

  
869
Fileクラスにある同名のクラスメソッドと同じです.
870

  
871
@param filename ファイル名を表す文字列を指定します。
872

  
873
@see [[m:File.stat]]
454
#@# 組込みコマンド
455
#@include(shell/builtincommands)
874 456

  
457
--- expand_path(path) -> String
875 458

  
876
--- symlink(old, new)    -> 0
877 459
Fileクラスにある同名のクラスメソッドと同じです.
878 460

  
879
@param old ファイル名を表す文字列を指定します。
880

  
881
@param new シンボリックリンクを表す文字列を指定します。
882

  
883
@see [[m:File.symlink]]
884

  
885

  
886
--- truncate(path, length)    -> 0
887

  
888
Fileクラスにある同名のクラスメソッドと同じです.
889

  
890
@param path パスを表す文字列を指定します。
891

  
892
@param length 変更したいサイズを整数で与えます。
893

  
894
@see [[m:File.truncate]]
895

  
896
--- utime(atime, mtime, *filename)    -> Integer
897
Fileクラスにある同名のクラスメソッドと同じです.
898

  
899
@param filename ファイル名を表す文字列を指定します。
900

  
901
@param atime 最終アクセス時刻を [[c:Time]] か、起算時からの経過秒数を数値で指定します。
902

  
903
@param utime 更新時刻を [[c:Time]] か、起算時からの経過秒数を数値で指定します。
904

  
905
@see [[m:File.utime]]
906

  
907
--- blockdev?(file)    -> bool
908
FileTestクラスにある同名のクラスメソッドと同じです.
909

  
910
@param file ファイル名を表す文字列か IO オブジェクトを指定します。
911

  
912
@see [[m:FileTest.#blockdev?]]
913

  
914
--- chardev?(file)    -> bool
915
FileTestクラスにある同名のクラスメソッドと同じです.
916

  
917
@param file ファイル名を表す文字列か IO オブジェクトを指定します。
918

  
919
@see [[m:FileTest.#chardev?]]
920

  
921
--- directory?(file)    -> bool
922
FileTestクラスにある同名のクラスメソッドと同じです.
923

  
924
@param file ファイル名を表す文字列か IO オブジェクトを指定します。
925

  
926
@see [[m:FileTest.#directory?]]
927

  
928
--- executable?(file)    -> bool
929
FileTestクラスにある同名のクラスメソッドと同じです.
930

  
931
@param file ファイル名を表す文字列を指定します。
932

  
933
@see [[m:FileTest.#executable?]]
934

  
935
--- executable_real?(file)    -> bool
936
FileTestクラスにある同名のクラスメソッドと同じです.
937

  
938
@param file ファイル名を表す文字列を指定します。
939

  
940
@see [[m:FileTest.#executable_real?]]
941

  
942
--- exist?(file) -> bool
943
--- exists?(file) -> bool
944
FileTestクラスにある同名のクラスメソッドと同じです.
945

  
946
@param file ファイル名を表す文字列か IO オブジェクトを指定します。
947

  
948
@see [[m:FileTest.#exist?]] [[m:FileTest.#exists?]]
949

  
950
--- file?(file)    -> bool
951
FileTestクラスにある同名のクラスメソッドと同じです.
952

  
953
@param file ファイル名を表す文字列か IO オブジェクトを指定します。
954

  
955
@see [[m:FileTest.#file?]]
956

  
957
--- grpowned?(file)    -> bool
958
FileTestクラスにある同名のクラスメソッドと同じです.
959

  
960
@param file ファイル名を表す文字列か IO オブジェクトを指定します。
961

  
962
@see [[m:FileTest.#grpowned?]]
963

  
964
--- owned?(file)    -> bool
965
FileTestクラスにある同名のクラスメソッドと同じです.
966

  
967
@param file ファイル名を表す文字列か IO オブジェクトを指定します。
968

  
969
@see [[m:FileTest.#owned?]]
970

  
971
--- pipe?(file)    -> bool
972
FileTestクラスにある同名のクラスメソッドと同じです.
973

  
974
@param file ファイル名を表す文字列か IO オブジェクトを指定します。
975

  
976
@see [[m:FileTest.#pipe?]]
977

  
978
--- readable?(file)    -> bool
979
FileTestクラスにある同名のクラスメソッドと同じです.
980

  
981
@param file ファイル名を表す文字列を指定します。
982

  
983
@see [[m:FileTest.#readable?]]
984

  
985
--- readable_real?(file)    -> bool
986
FileTestクラスにある同名のクラスメソッドと同じです.
987

  
988
@param file ファイル名を表す文字列を指定します。
989

  
990
@see [[m:FileTest.#readable_real?]]
991

  
992
--- setgid?(file) -> bool
993

  
994
FileTestクラスにある同名のクラスメソッドと同じです.
995

  
996
@param file ファイル名を表す文字列を指定します。
997

  
998
@see [[m:FileTest.#setgid?]]
999

  
1000
--- setuid?(file)    -> bool
1001
FileTestクラスにある同名のクラスメソッドと同じです.
1002

  
1003
@param file ファイル名を表す文字列を指定します。
1004

  
1005
@see [[m:FileTest.#setuid?]]
1006

  
1007
--- size(file) -> Integer
1008
--- size?(file) -> Integer | nil
1009

  
1010
FileTestクラスにある同名のクラスメソッドと同じです.
1011

  
1012
@param file ファイル名を表す文字列を指定します。
1013

  
1014
@see [[m:FileTest.#size]] [[m:FileTest.#size?]]
1015

  
1016
--- socket?(file) -> bool
1017

  
1018
FileTestクラスにある同名のクラスメソッドと同じです.
1019

  
1020
@param file ファイル名を表す文字列を指定します。
1021

  
1022
@see [[m:FileTest.#socket?]]
1023

  
1024

  
1025
--- sticky?(file) -> bool
1026
FileTestクラスにある同名のクラスメソッドと同じです.
1027

  
1028
@param file ファイル名を表す文字列を指定します。
1029

  
1030
@see [[m:FileTest.#sticky?]]
1031

  
1032
--- symlink?(file) -> bool
1033
FileTestクラスにある同名のクラスメソッドと同じです.
1034

  
1035
@param file ファイル名を表す文字列を指定します。
1036

  
1037
@see [[m:FileTest.#symlink?]]
1038

  
1039
--- writable?(file) -> bool
1040
FileTestクラスにある同名のクラスメソッドと同じです.
1041

  
1042
@param file ファイル名を表す文字列を指定します。
1043

  
1044
@see [[m:FileTest.#writable?]]
1045

  
1046
--- writable_real?(file) -> bool
1047
FileTestクラスにある同名のクラスメソッドと同じです.
1048

  
1049
@param file ファイル名を表す文字列を指定します。
1050

  
1051
@see [[m:FileTest.#writable_real?]]
1052

  
1053
--- zero?(file) -> bool
1054
FileTestクラスにある同名のクラスメソッドと同じです.
1055

  
1056
@param file ファイル名を表す文字列を指定します。
1057

  
1058
@see [[m:FileTest.#zero?]]
1059

  
1060
#@until 1.9.1
1061
--- syscopy(from, to) -> bool
1062

  
1063
FileToolsクラスにある同名のクラスメソッドと同じです.
1064

  
1065
@param from ファイルの名前を文字列で与えます。
1066

  
1067
@param to 新しいファイル名を文字列で与えます。
1068

  
1069
@see [[m:File.syscopy]]
1070

  
1071
--- copy(from, to) -> bool
1072
FileToolsクラスにある同名のクラスメソッドと同じです.
1073

  
1074
@param from ファイルの名前を文字列で与えます。
1075

  
1076
@param to 新しいファイル名を文字列で与えます。
1077

  
1078
@see [[m:File.copy]]
1079

  
1080
--- move(from, to) -> bool
1081

  
1082
FileToolsクラスにある同名のクラスメソッドと同じです.
1083

  
1084
@param from ファイルの名前を文字列で与えます。
1085

  
1086
@param to 新しいファイル名を文字列で与えます。
1087

  
1088
@see [[m:File.move]]
1089

  
1090
--- compare(file1, file2) -> bool
1091

  
1092
FileToolsクラスにある同名のクラスメソッドと同じです.
1093

  
1094
@param file1 ファイルの名前を文字列で与えます。
1095

  
1096
@param file2 新しいファイル名を文字列で与えます。
1097

  
1098
@see [[m:File.compare]]
1099

  
1100
--- safe_unlink(*filenames) -> Array
1101
FileToolsクラスにある同名のクラスメソッドと同じです.
1102

  
1103
@param filenames 削除するファイルを指定します。
1104

  
1105
@see [[m:File.safe_unlink]]
1106

  
1107
--- makedirs(*dirs) -> Array
1108

  
1109
FileToolsクラスにある同名のクラスメソッドと同じです.
1110

  
1111
@param dirs 作成するディレクトリを指定します。
1112

  
1113
@see [[m:File.makedirs]]
1114

  
1115
--- install(from, to, mode = nil, verbose = false) -> () 
1116

  
1117
FileToolsクラスにある同名のクラスメソッドと同じです.
1118

  
1119
@param from コピー元のファイル。
1120

  
1121
@param to コピー先のファイル。
1122

  
1123
@param mode ファイルのアクセスモード。8進数で指定します。
1124

  
1125
@param verbose 真を指定すると詳細を表示します。
1126

  
1127
@see [[m:File.install]]
1128

  
1129
--- cmp
1130

  
1131
[[m:Shell#compare]] と同じです。
1132

  
1133
--- mv
1134

  
1135
[[m:Shell#move]] と同じです。
1136

  
1137
--- cp
461
@param path ファイル名を表す文字列を指定します。
1138 462

  
1139
[[m:Shell#copy]] と同じです。
463
@see [[m:File.expand_path]]
1140 464

  
1141
--- rm_f
465
--- verbose -> bool  
466
--- verbose? -> bool
467
#@todo
1142 468

  
1143
[[m:Shell#safe_unlink]] と同じです。
469
--- verbose=(flag)
470
#@todo
1144 471

  
1145
--- mkpath
472
--- debug -> bool | Integer
473
--- debug? -> bool | Integer
474
#@todo
1146 475

  
1147
[[m:Shell#makedirs]] と同じです。
476
--- debug=(flag)
477
#@todo
1148 478

  
1149
#@end
479
--- dirs -> [String]
480
--- dir_stack -> [String]
481
#@todo
1150 482

  
1151
--- expand_path(path)
483
--- command_processor -> Shell::CommandProcessor
484
#@todo
1152 485

  
1153
Fileクラスにある同名のクラスメソッドと同じです.
486
--- process_controller -> Shell::ProcessController
487
#@todo
1154 488

  
1155
@param path ファイル名を表す文字列を指定します。
489
--- record_separator -> String
490
#@todo
1156 491

  
1157
@see [[m:File.expand_path]]
492
--- record_separator=(rs)
493
#@todo
1158 494

  
1159 495

  
b/refm/api/src/shell/builtin-command.rd
1
[[c:Shell]] で使用するビルトインコマンドを定義しているライブラリです。
2

  
3
= class Shell::BuiltInCommand < Shell::Filter
4

  
5
クラスとして実装されている全てのビルトインコマンドのスーパークラスです。
6

  
7
== Instance Methods
8

  
9
--- active? -> true
10
#@todo
11

  
12
--- wait?   -> false
13
#@todo
14

  
15
= class Shell::AppendFile < Shell::AppendIO
16

  
17
== Singleton Methods
18

  
19
--- new(sh, filename)
20
#@todo
21

  
22
== Instance Methods
23

  
24
--- input=(filter)
25
#@todo
26

  
27
= class Shell::AppendIO < Shell::BuiltInCommand
28

  
29
== Singleton Methods
30

  
31
--- new(sh, filename)
32
#@todo
33

  
34
== Instance Methods
35

  
36
--- input=(filter)
37
#@todo
38

  
39

  
40
= class Shell::Cat < Shell::BuiltInCommand
41

  
42
== Singleton Methods
43

  
44
--- new(sh, *filenames)
45
#@todo
46

  
47
== Instance Methods
48

  
49
--- each(rs = nil){|line| ... }
50
#@todo
51

  
52
= class Shell::Concat < Shell::BuiltInCommand
53

  
54
== Singleton Methods
55

  
56
--- new(sh, *jobs)
57
#@todo
58

  
59
== Instance Methods
60

  
61
--- each(rs = nil){|job| ... }
62
#@todo
63

  
64

  
65
= class Shell::Echo < Shell::BuiltInCommand
66

  
67

  
68
== Singleton Methods
69

  
70
--- new(sh, *strings)
71
#@todo
72

  
73
== Instance Methods
74

  
75
--- each(rs = nil){|str| ... }
76
#@todo
77

  
78

  
79
= class Shell::Glob < Shell::BuiltInCommand
80

  
81
== Singleton Methods
82

  
83
--- new(sh, pattern)
84
#@todo
85

  
86
== Instance Methods
87

  
88
--- each(rs = nil){|file| ... }
89
#@todo
90

  
91
= class Shell::Tee < Shell::BuiltInCommand
92

  
93
== Singleton Methods
94

  
95
--- new(sh, filename)
96
#@todo
97

  
98
== Instance Methods
99

  
100
--- each(rs = nil){|line| ... }
101
#@todo
102

  
103
#@since 1.9.1
104

  
105
= class Shell::Void < Shell::BuiltInCommand
106

  
107
何もしないコマンドです。
108

  
109
== Singleton Methods
110

  
111
--- new(sh, *opts)
112

  
113
== Instance Methods
114

  
115
--- each(rs = nil){ ... } -> nil
116

  
117
何もしません。
118

  
119
#@end
b/refm/api/src/shell/builtincommands
1
#@# -*- mode: rd; -*-
2
#@# Shell::CommandProcessor.install_builtin_commands で定義されるメソッド
3
#@# Shell, Shell::Filter, Shell::CommandProcessor に定義される
4

  
5
#@# from File
6
--- atime(filename) -> Time
7
[[c:File]] クラスにある同名のクラスメソッドと同じです.
8

  
9
@param filename ファイル名を表す文字列か IO オブジェクトを指定します。
10

  
11
@see [[m:File.atime]]
12

  
13
--- basename(filename, suffix = "")     -> String
14
[[c:File]] クラスにある同名のクラスメソッドと同じです.
15

  
16
@param filename ファイル名を表す文字列を指定します。
17

  
18
@param suffix サフィックスを文字列で与えます。'.*' という文字列を与えた場合、'*' はワイルドカードとして働き
19
              '.' を含まない任意の文字列にマッチします。
20

  
21
@see [[m:File.basename]]
22

  
23

  
24
--- chmod(mode, *filename)    -> Integer
25

  
26
[[c:File]] クラスにある同名のクラスメソッドと同じです.
27

  
28
@param filename ファイル名を表す文字列を指定します。
29

  
30
@param mode [[man:chmod(2)]] と同様に整数で指定します。
31

  
32
@see [[m:File.chmod]]
33

  
34
--- chown(owner, group, *filename)    -> Integer
35
[[c:File]] クラスにある同名のクラスメソッドと同じです.
36

  
37
@param owner [[man:chown(2)]] と同様に数値で指定します。nil または -1 を指定することで、オーナーを現在の>ままにすることができます。
38

  
39
@param group [[man:chown(2)]] と同様に数値で指定します。nil または -1 を指定することで、グループを現在の>ままにすることができます。
40

  
41
@param filename ファイル名を表す文字列を指定します。
42

  
43
@see [[m:File.chown]]
44

  
45
--- ctime(filename)    -> Time
46
[[c:File]] クラスにある同名のクラスメソッドと同じです.
47

  
48
@param filename ファイル名を表す文字列か IO オブジェクトを指定します。
49

  
50
@see [[m:File.ctime]]
51

  
52
--- delete(*filename)    -> Integer
53
--- rm(*filename)        -> Integer
54
[[c:File]] クラスにある同名のクラスメソッドと同じです.
55

  
56
@param filename ファイル名を表す文字列を指定します。
57

  
58
@see [[m:File.delete]]
59

  
60
--- dirname(filename)    -> String
61

  
62
[[c:File]] クラスにある同名のクラスメソッドと同じです.
63

  
64
@param filename ファイル名を表す文字列を指定します。
65

  
66
@see [[m:File.dirname]]
67

  
68
--- ftype(filename)    -> String
69

  
70
[[c:File]] クラスにある同名のクラスメソッドと同じです.
71

  
72
@param filename ファイル名を表す文字列を指定します。
73

  
74
@see [[m:File.ftype]]
75

  
76
--- join(*item)    -> String
77
[[c:File]] クラスにある同名のクラスメソッドと同じです.
78

  
79
@param item 連結したいディレクトリ名やファイル名を文字列で与えます。
80

  
81
@see [[m:File.join]]
82

  
83
--- link(old, new)    -> 0
84

  
85
[[c:File]] クラスにある同名のクラスメソッドと同じです.
86

  
87
@param old ファイル名を表す文字列を指定します。
88

  
89
@param new ファイル名を表す文字列を指定します。
90

  
91
@see [[m:File.link]]
92

  
93

  
94
--- lstat(filename)   -> File::Stat
95

  
96
[[c:File]] クラスにある同名のクラスメソッドと同じです.
97

  
98
@param filename ファイル名を表す文字列を指定します。
99

  
100
@see [[m:File.lstat]]
101

  
102
--- mtime(filename)    -> Time
103

  
104
[[c:File]] クラスにある同名のクラスメソッドと同じです.
105

  
106
@param filename ファイル名を表す文字列か IO オブジェクトを指定します。
107

  
108
@see [[m:File.mtime]]
109

  
110
--- readlink(path)    -> String
111
[[c:File]] クラスにある同名のクラスメソッドと同じです.
112

  
113
@param path シンボリックリンクを表す文字列を指定します。
114

  
115
@see [[m:File.readlink]]
116

  
117
--- rename(from, to)    -> 0
118
[[c:File]] クラスにある同名のクラスメソッドと同じです.
119

  
120
@param from ファイルの名前を文字列で与えます。
121

  
122
@param to 新しいファイル名を文字列で与えます。
123

  
124
@see [[m:File.rename]]
125

  
126
--- split(pathname)    -> [String]
127

  
128
[[c:File]] クラスにある同名のクラスメソッドと同じです.
129

  
130
@param pathname パス名を表す文字列を指定します。
131

  
132
@see [[m:File.split]]
133

  
134
--- stat(filename)    -> File::Stat
135

  
136
[[c:File]] クラスにある同名のクラスメソッドと同じです.
137

  
138
@param filename ファイル名を表す文字列を指定します。
139

  
140
@see [[m:File.stat]]
141

  
142

  
143
--- symlink(old, new)    -> 0
144
[[c:File]] クラスにある同名のクラスメソッドと同じです.
145

  
146
@param old ファイル名を表す文字列を指定します。
147

  
148
@param new シンボリックリンクを表す文字列を指定します。
149

  
150
@see [[m:File.symlink]]
151

  
152

  
153
--- truncate(path, length)    -> 0
154

  
155
[[c:File]] クラスにある同名のクラスメソッドと同じです.
156

  
157
@param path パスを表す文字列を指定します。
158

  
159
@param length 変更したいサイズを整数で与えます。
160

  
161
@see [[m:File.truncate]]
162

  
163
--- utime(atime, mtime, *filename)    -> Integer
164
[[c:File]] クラスにある同名のクラスメソッドと同じです.
165

  
166
@param filename ファイル名を表す文字列を指定します。
167

  
168
@param atime 最終アクセス時刻を [[c:Time]] か、起算時からの経過秒数を数値で指定します。
169

  
170
@param utime 更新時刻を [[c:Time]] か、起算時からの経過秒数を数値で指定します。
171

  
172
@see [[m:File.utime]]
173

  
174
#@# from FileTest
175

  
176
--- blockdev?(file)    -> bool
177
[[c:FileTest]] モジュールにある同名のクラスメソッドと同じです.
178

  
179
@param file ファイル名を表す文字列か IO オブジェクトを指定します。
180

  
181
@see [[m:FileTest.#blockdev?]]
182

  
183
--- chardev?(file)    -> bool
184
[[c:FileTest]] モジュールにある同名のクラスメソッドと同じです.
185

  
186
@param file ファイル名を表す文字列か IO オブジェクトを指定します。
187

  
188
@see [[m:FileTest.#chardev?]]
189

  
190
--- directory?(file)    -> bool
191
[[c:FileTest]] モジュールにある同名のクラスメソッドと同じです.
192

  
193
@param file ファイル名を表す文字列か IO オブジェクトを指定します。
194

  
195
@see [[m:FileTest.#directory?]]
196

  
197
--- executable?(file)    -> bool
198
[[c:FileTest]] モジュールにある同名のクラスメソッドと同じです.
199

  
200
@param file ファイル名を表す文字列を指定します。
201

  
202
@see [[m:FileTest.#executable?]]
203

  
204
--- executable_real?(file)    -> bool
205
[[c:FileTest]] モジュールにある同名のクラスメソッドと同じです.
206

  
207
@param file ファイル名を表す文字列を指定します。
208

  
209
@see [[m:FileTest.#executable_real?]]
210

  
211
--- exist?(file) -> bool
212
--- exists?(file) -> bool
213
[[c:FileTest]] モジュールにある同名のクラスメソッドと同じです.
214

  
215
@param file ファイル名を表す文字列か IO オブジェクトを指定します。
216

  
217
@see [[m:FileTest.#exist?]] [[m:FileTest.#exists?]]
218

  
219
--- file?(file)    -> bool
220
[[c:FileTest]] モジュールにある同名のクラスメソッドと同じです.
221

  
222
@param file ファイル名を表す文字列か IO オブジェクトを指定します。
223

  
224
@see [[m:FileTest.#file?]]
225

  
226
--- grpowned?(file)    -> bool
227
[[c:FileTest]] モジュールにある同名のクラスメソッドと同じです.
228

  
229
@param file ファイル名を表す文字列か IO オブジェクトを指定します。
230

  
231
@see [[m:FileTest.#grpowned?]]
232

  
233
--- owned?(file)    -> bool
234
[[c:FileTest]] モジュールにある同名のクラスメソッドと同じです.
235

  
236
@param file ファイル名を表す文字列か IO オブジェクトを指定します。
237

  
238
@see [[m:FileTest.#owned?]]
239

  
240
--- pipe?(file)    -> bool
241
[[c:FileTest]] モジュールにある同名のクラスメソッドと同じです.
242

  
243
@param file ファイル名を表す文字列か IO オブジェクトを指定します。
244

  
245
@see [[m:FileTest.#pipe?]]
246

  
247
--- readable?(file)    -> bool
248
[[c:FileTest]] モジュールにある同名のクラスメソッドと同じです.
249

  
250
@param file ファイル名を表す文字列を指定します。
251

  
252
@see [[m:FileTest.#readable?]]
253

  
254
--- readable_real?(file)    -> bool
255
[[c:FileTest]] モジュールにある同名のクラスメソッドと同じです.
256

  
257
@param file ファイル名を表す文字列を指定します。
258

  
259
@see [[m:FileTest.#readable_real?]]
260

  
261
--- setgid?(file) -> bool
262

  
263
[[c:FileTest]] モジュールにある同名のクラスメソッドと同じです.
264

  
265
@param file ファイル名を表す文字列を指定します。
266

  
267
@see [[m:FileTest.#setgid?]]
268

  
269
--- setuid?(file)    -> bool
270
[[c:FileTest]] モジュールにある同名のクラスメソッドと同じです.
271

  
272
@param file ファイル名を表す文字列を指定します。
273

  
274
@see [[m:FileTest.#setuid?]]
275

  
276
--- size(file) -> Integer
277
--- size?(file) -> Integer | nil
278

  
279
[[c:FileTest]] モジュールにある同名のクラスメソッドと同じです.
280

  
281
@param file ファイル名を表す文字列を指定します。
282

  
283
@see [[m:FileTest.#size]] [[m:FileTest.#size?]]
284

  
285
--- socket?(file) -> bool
286

  
287
[[c:FileTest]] モジュールにある同名のクラスメソッドと同じです.
288

  
289
@param file ファイル名を表す文字列を指定します。
290

  
291
@see [[m:FileTest.#socket?]]
292

  
293

  
294
--- sticky?(file) -> bool
295
[[c:FileTest]] モジュールにある同名のクラスメソッドと同じです.
296

  
297
@param file ファイル名を表す文字列を指定します。
298

  
299
@see [[m:FileTest.#sticky?]]
300

  
301
--- symlink?(file) -> bool
302
[[c:FileTest]] モジュールにある同名のクラスメソッドと同じです.
303

  
304
@param file ファイル名を表す文字列を指定します。
305

  
306
@see [[m:FileTest.#symlink?]]
307

  
308
--- writable?(file) -> bool
309
[[c:FileTest]] モジュールにある同名のクラスメソッドと同じです.
310

  
311
@param file ファイル名を表す文字列を指定します。
312

  
313
@see [[m:FileTest.#writable?]]
314

  
315
--- writable_real?(file) -> bool
316
[[c:FileTest]] モジュールにある同名のクラスメソッドと同じです.
317

  
318
@param file ファイル名を表す文字列を指定します。
319

  
320
@see [[m:FileTest.#writable_real?]]
321

  
322
--- zero?(file) -> bool
323
[[c:FileTest]] モジュールにある同名のクラスメソッドと同じです.
324

  
325
@param file ファイル名を表す文字列を指定します。
326

  
327
@see [[m:FileTest.#zero?]]
328

  
329
#@until 1.9.1
330
--- syscopy(from, to) -> bool
331

  
332
[[c:File]] クラスにある同名のクラスメソッドと同じです.
333

  
334
@param from ファイルの名前を文字列で与えます。
335

  
336
@param to 新しいファイル名を文字列で与えます。
337

  
338
@see [[m:File.syscopy]]
339

  
340
--- copy(from, to) -> bool
341
--- cp(from, to) -> bool
342

  
343
[[c:File]] クラスにある同名のクラスメソッドと同じです.
344

  
345
@param from ファイルの名前を文字列で与えます。
346

  
347
@param to 新しいファイル名を文字列で与えます。
348

  
349
@see [[m:File.copy]]
350

  
351
--- move(from, to) -> bool
352
--- mv(from, to) -> bool
353

  
354
[[c:File]] クラスにある同名のクラスメソッドと同じです.
355

  
356
@param from ファイルの名前を文字列で与えます。
357

  
358
@param to 新しいファイル名を文字列で与えます。
359

  
360
@see [[m:File.move]]
361

  
362
--- compare(file1, file2) -> bool
363
--- cmp(file1, file2) -> bool
364

  
365
[[c:File]] クラスにある同名のクラスメソッドと同じです.
366

  
367
@param file1 ファイルの名前を文字列で与えます。
368

  
369
@param file2 新しいファイル名を文字列で与えます。
370

  
371
@see [[m:File.compare]]
372

  
373
--- safe_unlink(*filenames) -> Array
374
--- rm_f(*filenames) -> Array
375

  
376
[[c:File]] クラスにある同名のクラスメソッドと同じです.
377

  
378
@param filenames 削除するファイルを指定します。
379

  
380
@see [[m:File.safe_unlink]]
381

  
382
--- makedirs(*dirs) -> Array
383
--- mkpath(*dirs) -> Array
384

  
385
[[c:File]] クラスにある同名のクラスメソッドと同じです.
386

  
387
@param dirs 作成するディレクトリを指定します。
... This diff was truncated because it exceeds the maximum size that can be displayed.