ruby--ruby/doc/shell.rd.jp

284 lines
6.5 KiB
Plaintext
Raw Normal View History

shell.rb<72><EFBFBD><E6A1BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
$Release Version: 0.6.0 $
$Revision$
$Date$
by Keiju ISHITSUKA(keiju@ishitsuka.com)
ruby<EFBFBD><EFBFBD><EFBFBD><EFBFBD>shell<EFBFBD>äݤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޥ<EFBFBD><EFBFBD>ɤ<EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD><EFBFBD><EFBFBD>.
* <20><>Ū
sh/csh<73>Τ<CEA4>˥<EFBFBD><CBA5>ޥ<EFBFBD><DEA5>ɤμ¹Եڤӥե<D3A5><D5A5>륿<EFBFBD><EBA5BF><EFBFBD>󥰤򵤷ڤ˹Ԥ<CBB9><D4A4><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
sh/csh<73>ˤ<EFBFBD><CBA4><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBA4AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ruby<62>ε<EFBFBD>ǽ<EFBFBD>򤽤Τޤ<CEA4><DEA4>Ѥ<EFBFBD><D1A4><EFBFBD>.
* <20><><EFBFBD>ʥ<EFBFBD><CAA5><EFBFBD><E9A5B9><EFBFBD><EFBFBD>
** Shell
Shell<EFBFBD><EFBFBD><EFBFBD>֥<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥϥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȥǥ<EFBFBD><EFBFBD><EFBFBD>ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD>ޥ<EFBFBD><DEA5>ɼ¹ԤϤ<D4A4><CFA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>Хѥ<EFBFBD><EFBFBD>ˤʤ<EFBFBD><EFBFBD>ޤ<EFBFBD>.
+ Shell#cwd/dir/getwd/pwd <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȥǥ<C8A5><C7A5><EFBFBD>ȥ<EFBFBD>
+ Shell#system_path <20><><EFBFBD>ޥ<EFBFBD><DEA5>ɤΥѥ<CEA5>
+ Shell#umask umask
** Filter
<EFBFBD><EFBFBD><EFBFBD>ޥ<EFBFBD><EFBFBD>ɤμ¹Է<EFBFBD><EFBFBD>̤<EFBFBD>Filter<EFBFBD>Ȥ<EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD>. Enumerable<6C><65>include<64><65><EFBFBD>Ƥ<EFBFBD><C6A4><EFBFBD>
<EFBFBD><EFBFBD>.
* <20><><EFBFBD>ʥ᥽<CAA5>åɰ<C3A5><C9B0><EFBFBD>
** <20><><EFBFBD>ޥ<EFBFBD><DEA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
OS<EFBFBD><EFBFBD><EFBFBD>Υ<EFBFBD><EFBFBD>ޥ<EFBFBD><EFBFBD>ɤ<EFBFBD><EFBFBD>¹Ԥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤϤޤ<EFBFBD>, Shell<6C>Υ<CEA5>åɤȤ<C9A4><C8A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD>.
<EFBFBD><EFBFBD>) <20><><EFBFBD>ޥ<EFBFBD><DEA5>ɤ<EFBFBD><C9A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʤ<EFBFBD><CAA4>Ȥ⤹<C8A4><E2A4B9>Shell#system<65><6D><EFBFBD>ޥ<EFBFBD><DEA5>ɤ⤢<C9A4><E2A4A2><EFBFBD>ޤ<EFBFBD>.
+ Shell.def_system_command(command, path = command)
Shell<EFBFBD>Υ<EFBFBD>åɤȤ<EFBFBD><EFBFBD><EFBFBD>command<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD>.
++ Shell.def_system_command "ls"
ls <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
++ Shell.def_system_command "sys_sort", "sort"
sort<72><74><EFBFBD>ޥ<EFBFBD><DEA5>ɤ<EFBFBD>sys_sort<72>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
+ Shell.undef_system_command(command)
command<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD>.
+ Shell.alias_command(ali, command, *opts) {...}
command<EFBFBD><EFBFBD>alias<EFBFBD>򤷤ޤ<EFBFBD>.
<EFBFBD><EFBFBD>)
Shell.alias_command "lsC", "ls", "-CBF", "--show-control-chars"
Shell.alias_command("lsC", "ls"){|*opts| ["-CBF", "--show-control-chars", *opts]}
+ Shell.unalias_command(ali)
command<EFBFBD><EFBFBD>alias<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD>.
+ Shell.install_system_commands(pre = "sys_")
system_path<EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥμ¹Բ<EFBFBD>ǽ<EFBFBD>ե<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Shell<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><EFBFBD>å<EFBFBD>̾<EFBFBD><CCBE>
<EFBFBD><EFBFBD><EFBFBD>Υե<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̾<EFBFBD><EFBFBD>Ƭ<EFBFBD><EFBFBD>pre<EFBFBD><EFBFBD><EFBFBD>Ĥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΤȤʤ<EFBFBD>.
** <20><><EFBFBD><EFBFBD>
+ Shell.new
<EFBFBD>ץ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Υ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȥǥ<EFBFBD><EFBFBD><EFBFBD>ȥ<EFBFBD><EFBFBD>򥫥<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȥǥ<EFBFBD><EFBFBD><EFBFBD>ȥ<EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD><EFBFBD>Shell<EFBFBD><EFBFBD><EFBFBD>֥<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD>.
+ Shell.cd(path)
path<EFBFBD>򥫥<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȥǥ<EFBFBD><EFBFBD><EFBFBD>ȥ<EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD><EFBFBD>Shell<EFBFBD><EFBFBD><EFBFBD>֥<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD>.
** <20>ץ<EFBFBD><D7A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
+ jobs
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󥰤<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD><EFBFBD>job<EFBFBD>ΰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD>.
+ kill sig, job
job<EFBFBD><EFBFBD>kill<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȥǥ<C8A5><C7A5><EFBFBD>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD><EFBFBD>
+ Shell#cd(path, &block)/chdir
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȥǥ<EFBFBD><EFBFBD><EFBFBD>ȥ<EFBFBD><EFBFBD><EFBFBD>path<EFBFBD>ˤ<EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD>ƥ졼<C6A5><ECA1BC><EFBFBD>Ȥ<EFBFBD><C8A4>ƸƤФ줿<D0A4>Ȥ<EFBFBD><C8A4>ˤ<EFBFBD>, <20>֥<EFBFBD><D6A5><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>¹<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τߥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȥǥ<EFBFBD><EFBFBD><EFBFBD>ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
+ Shell#pushd(path = nil, &block)/pushdir
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȥǥ<EFBFBD><EFBFBD><EFBFBD>ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǥ<EFBFBD><EFBFBD><EFBFBD>ȥꥹ<EFBFBD><EFBFBD><EFBFBD>å<EFBFBD><EFBFBD>ˤĤ<EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȥǥ<C8A5><C7A5><EFBFBD>ȥ<EFBFBD><C8A5><EFBFBD>
path<EFBFBD>ˤ<EFBFBD><EFBFBD><EFBFBD>. path<74><68><EFBFBD><EFBFBD>ά<EFBFBD><CEAC><EFBFBD>줿<EFBFBD>Ȥ<EFBFBD><C8A4>ˤ<EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȥǥ<C8A5><C7A5><EFBFBD>ȥ<EFBFBD><C8A5>ȥǥ<C8A5><C7A5><EFBFBD>ȥ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>å<EFBFBD><EFBFBD>Υȥåפ<EFBFBD><EFBFBD>򴹤<EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD>ƥ졼<C6A5><ECA1BC><EFBFBD>Ȥ<EFBFBD><C8A4>ƸƤФ줿<D0A4>Ȥ<EFBFBD><C8A4>ˤ<EFBFBD>, <20>֥<EFBFBD><D6A5>å<EFBFBD><C3A5><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τ<EFBFBD>pushd<EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
+ Shell#popd/popdir
<EFBFBD>ǥ<EFBFBD><EFBFBD><EFBFBD>ȥꥹ<EFBFBD><EFBFBD><EFBFBD>å<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݥåפ<EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD>򥫥<EFBFBD><F2A5ABA5><EFBFBD><EFBFBD>ȥǥ<C8A5><C7A5><EFBFBD>ȥ<EFBFBD><C8A5>ˤ<EFBFBD><CBA4><EFBFBD>.
** <20>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD>/<2F>ǥ<EFBFBD><C7A5><EFBFBD>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD><EFBFBD>
+ Shell#foreach(path = nil, &block)
path<EFBFBD><EFBFBD><EFBFBD>ե<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʤ<EFBFBD>, File#foreach
path<EFBFBD><EFBFBD><EFBFBD>ǥ<EFBFBD><EFBFBD><EFBFBD>ȥ<EFBFBD><EFBFBD>ʤ<EFBFBD>, Dir#foreach
+ Shell#open(path, mode)
path<EFBFBD><EFBFBD><EFBFBD>ե<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʤ<EFBFBD>, File#open
path<EFBFBD><EFBFBD><EFBFBD>ǥ<EFBFBD><EFBFBD><EFBFBD>ȥ<EFBFBD><EFBFBD>ʤ<EFBFBD>, Dir#open
+ Shell#unlink(path)
path<EFBFBD><EFBFBD><EFBFBD>ե<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʤ<EFBFBD>, File#unlink
path<EFBFBD><EFBFBD><EFBFBD>ǥ<EFBFBD><EFBFBD><EFBFBD>ȥ<EFBFBD><EFBFBD>ʤ<EFBFBD>, Dir#unlink
+ Shell#test(command, file1, file2)/Shell#[command, file1, file]
<EFBFBD>ե<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><EFBFBD>ȴؿ<EFBFBD>test<EFBFBD><EFBFBD>Ʊ<EFBFBD><EFBFBD>.
<EFBFBD><EFBFBD>)
sh[?e, "foo"]
sh[:e, "foo"]
sh["e", "foo"]
sh[:exists?, "foo"]
sh["exists?", "foo"]
+ Shell#mkdir(*path)
Dir.mkdir<69><72>Ʊ<EFBFBD><C6B1><><CAA3><EFBFBD><EFBFBD>)
+ Shell#rmdir(*path)
Dir.rmdir<69><72>Ʊ<EFBFBD><C6B1><><CAA3><EFBFBD><EFBFBD>)
** <20><><EFBFBD>ޥ<EFBFBD><DEA5>ɼ¹<C9BC>
+ System#system(command, *opts)
command<EFBFBD><EFBFBD><EFBFBD>¹Ԥ<EFBFBD><EFBFBD><EFBFBD>.
<EFBFBD><EFBFBD>)
print sh.system("ls", "-l")
sh.system("ls", "-l") | sh.head > STDOUT
+ System#rehash
<EFBFBD><EFBFBD><EFBFBD>ϥå<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
+ Shell#transact &block
<EFBFBD>֥<EFBFBD><EFBFBD>å<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD>shell<EFBFBD><EFBFBD>self<EFBFBD>Ȥ<EFBFBD><EFBFBD>Ƽ¹Ԥ<EFBFBD><EFBFBD><EFBFBD>.
<EFBFBD><EFBFBD>)
sh.transact{system("ls", "-l") | head > STDOUT}
+ Shell#out(dev = STDOUT, &block)
transact<EFBFBD><EFBFBD><EFBFBD>ƤӽФ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>η<EFBFBD><EFBFBD>̤<EFBFBD>dev<EFBFBD>˽<EFBFBD><EFBFBD>Ϥ<EFBFBD><EFBFBD><EFBFBD>.
** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޥ<EFBFBD><DEA5><EFBFBD>
+ Shell#echo(*strings)
+ Shell#cat(*files)
+ Shell#glob(patten)
+ Shell#tee(file)
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϼ¹Ԥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƤȤ<C6A4><C8A4><EFBFBD>Filter<65><72><EFBFBD>֥<EFBFBD><D6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4>֤<EFBFBD><D6A4>ޤ<EFBFBD>.
+ Filter#each &block
<EFBFBD>ե<EFBFBD><EFBFBD>륿<EFBFBD>ΰ<EFBFBD><EFBFBD>Ԥ<EFBFBD><EFBFBD>Ĥ<EFBFBD>block<EFBFBD><EFBFBD><EFBFBD>Ϥ<EFBFBD>.
+ Filter#<(src)
src<EFBFBD><EFBFBD><EFBFBD>ե<EFBFBD><EFBFBD>륿<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϤȤ<EFBFBD><EFBFBD><EFBFBD>. src<72><63>, ʸ<><CAB8><EFBFBD><EFBFBD><EFBFBD>ʤ<EFBFBD><CAA4>Хե<D0A5><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, IO<49>Ǥ<EFBFBD><C7A4><EFBFBD><EFBFBD>Ф<EFBFBD><D0A4><EFBFBD>
<EFBFBD>򤽤Τޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϤȤ<EFBFBD><EFBFBD><EFBFBD>.
+ Filter#>(to)
src<EFBFBD><EFBFBD><EFBFBD>ե<EFBFBD><EFBFBD>륿<EFBFBD>ν<EFBFBD><EFBFBD>ϤȤ<EFBFBD><EFBFBD><EFBFBD>. to<74><6F>, ʸ<><CAB8><EFBFBD><EFBFBD><EFBFBD>ʤ<EFBFBD><CAA4>Хե<D0A5><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, IO<49>Ǥ<EFBFBD><C7A4><EFBFBD><EFBFBD>Ф<EFBFBD><D0A4><EFBFBD>
<EFBFBD>򤽤Τޤ޽<EFBFBD><EFBFBD>ϤȤ<EFBFBD><EFBFBD><EFBFBD>.
+ Filter#>>(to)
src<EFBFBD><EFBFBD><EFBFBD>ե<EFBFBD><EFBFBD>륿<EFBFBD><EFBFBD><EFBFBD>ɲä<EFBFBD><EFBFBD><EFBFBD>. to<74><6F>, ʸ<><CAB8><EFBFBD><EFBFBD><EFBFBD>ʤ<EFBFBD><CAA4>Хե<D0A5><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, IO<49>Ǥ<EFBFBD><C7A4><EFBFBD><EFBFBD>Ф<EFBFBD><D0A4><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>Τޤ޽<EFBFBD><EFBFBD>ϤȤ<EFBFBD><EFBFBD><EFBFBD>.
+ Filter#|(filter)
<EFBFBD>ѥ<EFBFBD><EFBFBD>׷<EFBFBD><EFBFBD><EFBFBD>
+ Filter#+(filter)
filter1 + filter2 <20><> filter1<72>ν<EFBFBD><CEBD>Ϥθ<CFA4>, filter2<72>ν<EFBFBD><CEBD>Ϥ<EFBFBD><CFA4>Ԥ<EFBFBD>.
+ Filter#to_a
+ Filter#to_s
** <20>ȹ<EFBFBD><C8B9>ߥ<EFBFBD><DFA5>ޥ<EFBFBD><DEA5><EFBFBD>
+ Shell#atime(file)
+ Shell#basename(file, *opt)
+ Shell#chmod(mode, *files)
+ Shell#chown(owner, group, *file)
+ Shell#ctime(file)
+ Shell#delete(*file)
+ Shell#dirname(file)
+ Shell#ftype(file)
+ Shell#join(*file)
+ Shell#link(file_from, file_to)
+ Shell#lstat(file)
+ Shell#mtime(file)
+ Shell#readlink(file)
+ Shell#rename(file_from, file_to)
+ Shell#split(file)
+ Shell#stat(file)
+ Shell#symlink(file_from, file_to)
+ Shell#truncate(file, length)
+ Shell#utime(atime, mtime, *file)
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>File<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD><EFBFBD><EFBFBD>Ʊ̾<EFBFBD>Υ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>åɤ<EFBFBD>Ʊ<EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD>.
+ Shell#blockdev?(file)
+ Shell#chardev?(file)
+ Shell#directory?(file)
+ Shell#executable?(file)
+ Shell#executable_real?(file)
+ Shell#exist?(file)/Shell#exists?(file)
+ Shell#file?(file)
+ Shell#grpowned?(file)
+ Shell#owned?(file)
+ Shell#pipe?(file)
+ Shell#readable?(file)
+ Shell#readable_real?(file)
+ Shell#setgid?(file)
+ Shell#setuid?(file)
+ Shell#size(file)/Shell#size?(file)
+ Shell#socket?(file)
+ Shell#sticky?(file)
+ Shell#symlink?(file)
+ Shell#writable?(file)
+ Shell#writable_real?(file)
+ Shell#zero?(file)
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>FileTest<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD><EFBFBD><EFBFBD>Ʊ̾<EFBFBD>Υ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>åɤ<EFBFBD>Ʊ<EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD>.
+ Shell#syscopy(filename_from, filename_to)
+ Shell#copy(filename_from, filename_to)
+ Shell#move(filename_from, filename_to)
+ Shell#compare(filename_from, filename_to)
+ Shell#safe_unlink(*filenames)
+ Shell#makedirs(*filenames)
+ Shell#install(filename_from, filename_to, mode)
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>FileTools<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD><EFBFBD><EFBFBD>Ʊ̾<EFBFBD>Υ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>åɤ<EFBFBD>Ʊ<EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD>.
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>¾, <20>ʲ<EFBFBD><CAB2>Τ<EFBFBD><CEA4>Τ<EFBFBD><CEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA5A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><C6A4>ޤ<EFBFBD>.
+ Shell#cmp <- Shell#compare
+ Shell#mv <- Shell#move
+ Shell#cp <- Shell#copy
+ Shell#rm_f <- Shell#safe_unlink
+ Shell#mkpath <- Shell#makedirs
* <20><><EFBFBD><EFBFBD><EFBFBD>ץ<EFBFBD>
** ex1
sh = Shell.cd("/tmp")
sh.mkdir "shell-test-1" unless sh.exists?("shell-test-1")
sh.cd("shell-test-1")
for dir in ["dir1", "dir3", "dir5"]
if !sh.exists?(dir)
sh.mkdir dir
sh.cd(dir) do
f = sh.open("tmpFile", "w")
f.print "TEST\n"
f.close
end
print sh.pwd
end
end
** ex2
sh = Shell.cd("/tmp")
sh.transact do
mkdir "shell-test-1" unless exists?("shell-test-1")
cd("shell-test-1")
for dir in ["dir1", "dir3", "dir5"]
if !exists?(dir)
mkdir dir
cd(dir) do
f = open("tmpFile", "w")
f.print "TEST\n"
f.close
end
print pwd
end
end
end
** ex3
sh.cat("/etc/printcap") | sh.tee("tee1") > "tee2"
(sh.cat < "/etc/printcap") | sh.tee("tee11") > "tee12"
sh.cat("/etc/printcap") | sh.tee("tee1") >> "tee2"
(sh.cat < "/etc/printcap") | sh.tee("tee11") >> "tee12"
** ex5
print sh.cat("/etc/passwd").head.collect{|l| l =~ /keiju/}