| Class | Shell |
| In: |
shell.rb
shell/error.rb shell/command-processor.rb shell/system-command.rb shell/filter.rb shell/version.rb shell/builtin-command.rb shell/process-controller.rb |
| Parent: | Object |
version.rb - shell version definition file
$Release Version: 0.6.0$
$Revision: 11708 $
$Date: 2007-02-12 17:01:19 -0600 (Mon, 12 Feb 2007) $
by Keiju ISHITSUKA(Nihon Rational Software Co.,Ltd)
—
| debug | -> | debug? |
| alias cascade? cascade | ||
| verbose | -> | verbose? |
| verbose | -> | verbose? |
| debug | -> | debug? |
| cwd | -> | dir |
| cwd | -> | getwd |
| cwd | -> | pwd |
| dir_stack | -> | dirs |
| cascade | [RW] | |
| command_processor | [R] | |
| cwd | [R] |
Dir related methods
Shell#cwd/dir/getwd/pwd Shell#chdir/cd Shell#pushdir/pushd Shell#popdir/popd Shell#mkdir Shell#rmdir |
| debug | [RW] | |
| debug | [RW] | |
| dir_stack | [R] | |
| process_controller | [R] | |
| record_separator | [RW] | |
| system_path | [R] | |
| umask | [RW] | |
| verbose | [RW] | |
| verbose | [RW] |
# File shell.rb, line 223 def Shell.alias_command(ali, command, *opts, &block) CommandProcessor.alias_command(ali, command, *opts, &block) end
command definitions
# File shell.rb, line 215 def Shell.def_system_command(command, path = command) CommandProcessor.def_system_command(command, path) end
# File shell.rb, line 66 def default_record_separator if @default_record_separator @default_record_separator else $/ end end
# File shell.rb, line 54 def default_system_path if @default_system_path @default_system_path else ENV["PATH"].split(":") end end
# File shell.rb, line 231 def Shell.install_system_commands(pre = "sys_") CommandProcessor.install_system_commands(pre) end
# File shell.rb, line 79 def initialize @cwd = Dir.pwd @dir_stack = [] @umask = nil @system_path = Shell.default_system_path @record_separator = Shell.default_record_separator @command_processor = CommandProcessor.new(self) @process_controller = ProcessController.new(self) @verbose = Shell.verbose @debug = Shell.debug end
# File shell.rb, line 244 def self.notify(*opts, &block) Thread.exclusive do if opts[-1].kind_of?(String) yorn = verbose? else yorn = opts.pop end return unless yorn _head = true print opts.collect{|mes| mes = mes.dup yield mes if iterator? if _head _head = false "shell: " + mes else " " + mes end }.join("\n")+"\n" end end
# File shell.rb, line 219 def Shell.undef_system_command(command) CommandProcessor.undef_system_command(command) end
If called as iterator, it restores the current directory when the block ends.
# File shell.rb, line 144 def chdir(path = nil) if iterator? cwd_old = @cwd begin chdir(path) yield ensure chdir(cwd_old) end else path = "~" unless path @cwd = expand_path(path) notify "current dir: #{@cwd}" rehash self end end
# File shell.rb, line 236 def inspect if debug.kind_of?(Integer) && debug > 2 super else to_s end end
# File shell.rb, line 189 def popdir if pop = @dir_stack.pop chdir pop notify "dir stack: [#{@dir_stack.join ', '}]" self else Shell.Fail DirStackEmpty end end
# File shell.rb, line 163 def pushdir(path = nil) if iterator? pushdir(path) begin yield ensure popdir end elsif path @dir_stack.push @cwd chdir path notify "dir stack: [#{@dir_stack.join ', '}]" self else if pop = @dir_stack.pop @dir_stack.push @cwd chdir pop notify "dir stack: [#{@dir_stack.join ', '}]" self else Shell.Fail DirStackEmpty end end end
ruby-doc.org is hosted and maintained by James Britt and Happy Camper Studios, a Ruby application development company in Phoenix, Arizona. The site was created in 2002 as part of the Ruby Documentation Project to promote the Ruby language and to help other Ruby hackers.
Documentation content on ruby-doc.org is provided by remarkable members of the Ruby community.
For more information on the Ruby programming language, visit ruby-lang.org.
Want to help improve Ruby's API docs? See Ruby Documentation Guidelines.