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

class Shell

クラス・モジュールの継承リスト: Shell < Shell::Error < Object < Kernel < BasicObject
extend: Exception2MessageMapper

要約

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

特異メソッド

定義 説明
alias_command(alias, command, *opts) {...} -> self

コマンドの別名(エイリアス)を作成します。コマンドが無い場合は、Shell.def_system_command などであらかじめ作成します.

cascade -> bool

@todo

cascade=(flag)

@todo

cd(path = nil, verbose = self.verbose) -> self

pathをカレントディレクトリとするShellオブジェクトを生成します.

debug -> bool | Integer
debug? -> bool | Integer

@todo

debug=(val)

デバッグ用のフラグを設定します。

debug_output_exclusive_unlock { ... } -> Mutex | nil

@todo

debug_output_lock -> Mutex

@todo

debug_output_locked? -> bool

@todo

debug_output_synchronize

@todo

debug_output_try_lock -> bool

@todo

debug_output_unlock -> Mutex | nil

@todo

def_system_command(command, path = command) -> nil

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

default_record_separator -> String
default_record_separator=(rs)

執筆者募集

default_system_path -> Array
default_system_path=(path)

Shellでもちいられるコマンドを検索する対象のパスを設定および、参照します。

install_system_commands(pre = "sys_") -> ()

system_path上にある全ての実行可能ファイルをShellに定義する. メソッド名は元のファイル名の頭にpreをつけたものとなる.

new(pwd = Dir.pwd, umask = nil) -> Shell

プロセスのカレントディレクトリをpwd で指定されたディレクトリとするShellオブジェクトを生成します.

notify(*opts) {|message| ... } -> String

@todo

unalias_command(alias) -> ()

commandのaliasを削除します.

undef_system_command(command) -> Shell::CommandProcessor

commandを削除します.

verbose -> bool
verbose? -> bool

@todo

verbose=(flag)

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

インスタンスメソッド

定義 説明
test(command, file1, file2 = nil) -> bool | Time | Integer | nil
self[command, file1, file2 = nil] -> bool | Time | Integer | nil

Kernel.#testFileTest のメソッドに処理を委譲します。

append(to, filter) -> Shell::AppendFile | Shell::AppendIO

@todo

atime(filename) -> Time

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

basename(filename, suffix = "") -> String

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

blockdev?(file) -> bool

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

cat(*files) -> Shell::Filter

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

cd(path, &block) -> self
chdir(path, &block) -> self

カレントディレクトリをpathにする. イテレータとして呼ばれたときにはブロック実行中のみカレントディレクトリを変更する.

chardev?(file) -> bool

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

check_point
finish_all_jobs

@todo

chmod(mode, *filename) -> Integer

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

chown(owner, group, *filename) -> Integer

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

command_processor -> Shell::CommandProcessor

@todo

concat(*jobs) -> Shell::Concat

@todo

ctime(filename) -> Time

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

cwd -> String
dir -> String
getwd -> String
pwd -> String

カレントディレクトリのパスを文字列で返します。

debug -> bool | Integer
debug? -> bool | Integer

@todo

debug=(flag)

@todo

delete(*filename) -> Integer
rm(*filename) -> Integer

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

dirs -> [String]
dir_stack -> [String]

@todo

directory?(file) -> bool

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

dirname(filename) -> String

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

echo(*strings) -> Shell::Filter

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

executable?(file) -> bool

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

executable_real?(file) -> bool

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

exist?(file) -> bool
exists?(file) -> bool

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

expand_path(path) -> String

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

file?(file) -> bool

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

find_system_command(command)

@todo

foreach(path = nil, &block) -> ()

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

ftype(filename) -> String

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

glob(pattern) -> Shell::Filter

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

grpowned?(file) -> bool

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

identical?

@todo

jobs -> Array

スケジューリングされているjobの一覧を返します。

join(*item) -> String

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

kill(signal, job) -> Integer

@todo

link(old, new) -> 0

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

lstat(filename) -> File::Stat

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

mkdir(*path) -> Array

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

mtime(filename) -> Time

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

notify(*opts) { ... } -> ()

@todo

open(path, mode) -> File | Dir

path がファイルなら、 File.open path がディレクトリなら、 Dir.open の動作をします。

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

Shell#transact を呼び出しその結果を dev に出力します。

owned?(file) -> bool

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

pipe?(file) -> bool

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

popd -> ()
popdir -> ()

ディレクトリスタックからポップし, それをカレントディレクトリにする.

process_controller -> Shell::ProcessController

@todo

pushd(path = nil, &block) -> object
pushdir(path = nil, &block) -> object

カレントディレクトリをディレクトリスタックにつみ, カレントディレクトリをpathにする. pathが省略されたときには, カレントディレクトリとディレクトリスタックのトップを交換する. イテレータとして呼ばれたときには, ブロック実行中のみpushdする.

readable?(file) -> bool

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

readable_real?(file) -> bool

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

readlink(path) -> String

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

record_separator -> String

@todo

record_separator=(rs)

@todo

rehash -> {}

登録されているシステムコマンドの情報をクリアします。通常、使うことはありません。

rename(from, to) -> 0

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

rmdir(*path) -> ()

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

setgid?(file) -> bool

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

setuid?(file) -> bool

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

size(file) -> Integer
size?(file) -> Integer | nil

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

socket?(file) -> bool

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

split(pathname) -> [String]

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

stat(filename) -> File::Stat

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

sticky?(file) -> bool

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

symlink(old, new) -> 0

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

symlink?(file) -> bool

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

system(command, *opts) -> Shell::SystemCommand

command を実行する.

system_path -> Array
system_path=(path)

コマンドサーチパスの配列を返す。

tee(file) -> Shell::Filter

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

transact { ... } -> object

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

truncate(path, length) -> 0

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

umask -> object

@todo

umask=(umask)

@todo

unlink(path) -> self

path がファイルなら File.unlink、path がディレクトリなら Dir.unlink の動作をします。

utime(atime, mtime, *filename) -> Integer

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

verbose -> bool
verbose? -> bool

@todo

verbose=(flag)

@todo

world_readable?

@todo

world_writable?

@todo

writable?(file) -> bool

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

writable_real?(file) -> bool

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

zero?(file) -> bool

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

継承したメソッド

! != __id__ __send__ instance_eval instance_exec method_missing singleton_method_added singleton_method_removed singleton_method_undefined Fail bind def_e2message def_exception fail !~ <=> == === =~ _dump class clone define_singleton_method display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? itself marshal_dump marshal_load method methods must_be must_be_close_to must_be_empty must_be_instance_of must_be_kind_of must_be_nil must_be_same_as must_be_within_epsilon must_equal must_include must_match must_raise must_respond_to must_send must_throw nil? object_id pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods psych_to_yaml public_method public_methods public_send remove_instance_variable respond_to? respond_to_missing? send singleton_class singleton_method singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str trust untaint untrust untrusted? .yaml_tag ::ARGF ::ARGV ::DATA ::ENV ::FALSE ::NIL ::RUBY_COPYRIGHT ::RUBY_DESCRIPTION ::RUBY_ENGINE ::RUBY_PATCHLEVEL ::RUBY_PLATFORM ::RUBY_RELEASE_DATE ::RUBY_REVISION ::RUBY_VERSION ::SCRIPT_LINES__ ::STDERR ::STDIN ::STDOUT ::TOPLEVEL_BINDING ::TRUE