- Inheritance
- < Object
Constants
| Name | Description | |
|---|---|---|
| NoDelegateMethods | = ["initialize", "expand_path"] | initialize of Shell and related classes. | 
Methods
Class
| Visibility | Signature | 
|---|---|
| public | add_delegate_command_to_shell (id) | 
| public | alias_command (ali, command, *opts, &block) | 
| public | alias_map () | 
| public | def_builtin_commands (delegation_class, command_specs) | 
| public | def_system_command (command, path = command) | 
| public | initialize () | 
| public | install_builtin_commands () | 
| public | install_system_commands (pre = "sys_") | 
| public | method_added (id) | 
| public | new (shell) | 
| public | run_config () | 
| public | unalias_command (ali) | 
| public | undef_system_command (command) | 
Instance
| Visibility | Signature | 
|---|---|
| public | [] (command, file1, file2=nil) | 
| public | append (to, filter) | 
| public | cat (*filenames) | 
| public | check_point () | 
| public | concat (*jobs) | 
| public | echo (*strings) | 
| public | expand_path (path) | 
| public | find_system_command (command) | 
| public | finish_all_jobs () | 
| public | foreach (path = nil, *rs) {|fn| ...} | 
| public | glob (pattern) | 
| public | mkdir (*path) | 
| public | notify (*opts) {|mes if iterator?| ...} | 
| public | open (path, mode) | 
| public | out (dev = STDOUT, &block) | 
| public | rehash () | 
| public | rmdir (*path) | 
| public | system (command, *opts) | 
| public | tee (file) | 
| public | test (command, file1, file2=nil) | 
| public | transact (&block) | 
| public | unlink (path) | 
Class Method Detail
add_delegate_command_to_shell(id)
alias_command(ali, command, *opts, &block)
alias_map()
def_builtin_commands(delegation_class, command_specs)
CommandProcessor.def_builtin_commands(delegation_class, command_specs)
    delegation_class: Class or Module
    command_specs: [[command_name, [argument,...]],...]
       command_name: String
       arguments:      String
          FILENAME?? -> expand_path(filename??)
          *FILENAME?? -> filename??.collect{|f|expand_path(f)}.join(", ")
  define command_name(argument,...) as
      delegation_class.command_name(argument,...)
      def_system_command(command, path = command)
CommandProcessor.def_system_command(command, path)
    command:  String
    path:       String
  define 'command()' method as method.
      initialize()
install_builtin_commands()
define default builtin commands
install_system_commands(pre = "sys_")
CommandProcessor.install_system_commands(pre)
      pre: String - command name prefix
defines every command which belongs in default_system_path via CommandProcessor.command(). It doesn‘t define already defined methods twice. By default, "pre_" is prefixes to each method name. Characters that may not be used in a method name are all converted to ‘_’. Definition errors are just ignored.
method_added(id)
new(shell)
run_config()
include run file.
unalias_command(ali)
undef_system_command(command)
Instance Method Detail
[](command, file1, file2=nil)
Alias for test
append(to, filter)
cat(*filenames)
check_point()
ProcessCommand#transact
concat(*jobs)
echo(*strings)
expand_path(path)
CommandProcessor#expand_path(path)
    path:     String
    return: String
  returns the absolute path for <path>
      find_system_command(command)
finish_all_jobs()
Alias for check_point
foreach(path = nil, *rs) {|fn| ...}
File related commands Shell#foreach Shell#open Shell#unlink Shell#test
-
CommandProcessor#foreach(path, rs)
    path: String
    rs:     String - record separator
    iterator
  Same as:
    File#foreach (when path is file)
    Dir#foreach (when path is directory)
  path is relative to pwd
      glob(pattern)
def sort(*filenames)
Sort.new(self, *filenames)
end
mkdir(*path)
Dir related methods
Shell#mkdir Shell#rmdir
notify(*opts) {|mes if iterator?| ...}
%pwd, %cwd -> @pwd
open(path, mode)
CommandProcessor#open(path, mode)
    path:     String
    mode:     String
    return: File or Dir
  Same as:
    File#open (when path is file)
    Dir#open  (when path is directory)
  mode has an effect only when path is a file
      out(dev = STDOUT, &block)
internal commands
rehash()
ProcessCommand#rehash
clear command hash table.
rmdir(*path)
    path: String
  same as Dir.rmdir()
      system(command, *opts)
CommandProcessor#system(command, *opts)
    command: String
    opts:      String
    return:  SystemCommand
  Same as system() function
  example:
    print sh.system("ls", "-l")
    sh.system("ls", "-l") | sh.head > STDOUT
      tee(file)
test(command, file1, file2=nil)
CommandProcessor#test(command, file1, file2) CommandProcessor#[command, file1, file2]
    command: char or String or Symbol
    file1:   String
    file2:   String(optional)
    return: Boolean
  same as:
    test()     (when command is char or length 1 string or symbol)
    FileTest.command (others)
  example:
    sh[?e, "foo"]
    sh[:e, "foo"]
    sh["e", "foo"]
    sh[:exists?, "foo"]
    sh["exists?", "foo"]
      transact(&block)
unlink(path)
  same as:
    Dir#unlink  (when path is directory)
    File#unlink (when path is file)