Ruby 2.3.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(patten) -> 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__ instance_eval instance_exec singleton_method_added singleton_method_removed singleton_method_undefined Fail bind def_e2message def_exception fail !~ <=> == === =~ __send__ _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 method_missing methods 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? 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