ch03_05.htm
来自「unix基础教程」· HTM 代码 · 共 114 行
HTM
114 行
<html><head><title>Differing Features (UNIX in a Nutshell: System V Edition)</title><link rel="stylesheet" type="text/css" href="../style/style1.css" /><meta name="DC.Creator" content="Arnold Robbins" /><meta name="DC.Format" content="text/xml" scheme="MIME" /><meta name="DC.Language" content="en-US" /><meta name="DC.Publisher" content="O'Reilly & Associates, Inc." /><meta name="DC.Source" scheme="ISBN" content="1-56592-427-4" /><meta name="DC.Subject.Keyword" content="stuff" /><meta name="DC.Title" content="UNIX in a Nutshell: System V Edition" /><meta name="DC.Type" content="Text.Monograph" /></head><body bgcolor="#ffffff"><img src="gifs/smbanner.gif" usemap="#banner-map" border="0" alt="Book Home" /><map name="banner-map"><area shape="rect" coords="1,-2,616,66" href="index.htm" alt="Book Title" /><area shape="rect" coords="629,-11,726,25" href="jobjects/fsearch.htm" alt="Search this book" /></map><div class="navbar"><table width="684" border="0"><tr><td align="left" valign="top" width="228"><a href="ch03_04.htm"><img src="../gifs/txtpreva.gif" alt="Previous" border="0" /></a></td><td align="center" valign="top" width="228" /><td align="right" valign="top" width="228"><a href="ch04_01.htm"><img src="../gifs/txtnexta.gif" alt="Next" border="0" /></a></td></tr></table></div><h2 class="sect1">3.5. Differing Features</h2><p>The following table displays features that are different among the three shells.</p><table border="1" cellpadding="3"><tr><th><em class="emphasis">sh</em></th><th><em class="emphasis">ksh</em></th><th><em class="emphasis">csh</em></th><th><em class="emphasis">Meaning/Action</em></th></tr><tr><td><tt class="literal">$</tt></td><td><tt class="literal">$</tt></td><td><tt class="literal">%</tt></td><td>Prompt.</td></tr><tr><td> </td><td><tt class="literal">>|</tt></td><td><tt class="literal">>!</tt></td><td>Force redirection.</td></tr><tr><td> </td><td> </td><td><tt class="literal">>>!</tt></td><td>Force append.</td></tr><tr><td><tt class="literal">></tt> <em class="replaceable"><tt>file</em> <tt class="literal">2>&1</tt></td><td><tt class="literal">></tt> <em class="replaceable">file</em> <tt class="literal">2>&1</tt></td><td><tt class="literal">>&</tt> <em class="replaceable">file</tt></em></td><td>Combine stdout and stderr.</td></tr><tr><td> </td><td> </td><td><tt class="literal">{ }</tt></td><td>Expand elements in list.</td></tr><tr><td><tt class="literal">‘ ‘</tt></td><td><tt class="literal">‘ ‘</tt></td><td><tt class="literal">‘ ‘</tt></td><td><p>Substitute output of enclosed command.</p></td></tr><tr><td> </td><td><tt class="literal">$( )</tt></td><td> </td><td><p>Substitute output of enclosed command.(Preferred form.)</p></td></tr><tr><td><tt class="literal">$HOME</tt></td><td><tt class="literal">$HOME</tt></td><td><tt class="literal">$home</tt></td><td>Home directory.</td></tr><tr><td> </td><td><tt class="literal">~</tt></td><td><tt class="literal">~</tt></td><td>Home directory symbol.</td></tr><tr><td><em class="replaceable"><tt>var</em><tt class="literal">=</tt><em class="replaceable">value</em></td><td><em class="replaceable">var</em><tt class="literal">=</tt><em class="replaceable">value</em></td><td><tt class="literal">set</tt> <em class="replaceable">var</em>=<em class="replaceable">value</tt></em></td><td>Variable assignment.</td></tr><tr><td><tt class="literal">export</tt> <em class="replaceable"><tt>var</em></td><td><tt class="literal">export</tt> <em class="replaceable">var</em><tt class="literal">=</tt><em class="replaceable">val</em></td><td><tt class="literal">setenv</tt> <em class="replaceable">var val</tt></em></td><td><p>Set environment variable.</p></td></tr><tr><td> </td><td><tt class="literal">${</tt><em class="replaceable"><tt>nn</tt></em><tt class="literal">}</tt></td><td> </td><td><p>More than nine args can be referenced.</p></td></tr><tr><td><tt class="literal">"$@"</tt></td><td><tt class="literal">"$@"</tt></td><td> </td><td><p>All args as separate words.</p></td></tr><tr><td><tt class="literal">$#</tt></td><td><tt class="literal">$#</tt></td><td><tt class="literal">$#argv</tt></td><td><p>Number of arguments.</p></td></tr><tr><td><tt class="literal">$?</tt></td><td><tt class="literal">$?</tt></td><td><tt class="literal">$status</tt></td><td><p>Exit status.</p></td></tr><tr><td><tt class="literal">$!</tt></td><td><tt class="literal">$!</tt></td><td> </td><td><p>Background exit status.</p></td></tr><tr><td><tt class="literal">$-</tt></td><td><tt class="literal">$-</tt></td><td> </td><td><p>Current options.</p></td></tr><tr><td><tt class="literal">.  </tt><em class="replaceable"><tt>file</em></td><td><tt class="literal">.  </tt><em class="replaceable">file</em></td><td><tt class="literal">source</tt> <em class="replaceable">file</em></td><td><p>Read commands in <em class="emphasis">file</tt></em>.</p></td></tr><tr><td> </td><td><tt class="literal">alias</tt> <em class="replaceable"><tt>x</em>=<em class="replaceable">y</em></td><td><tt class="literal">alias</tt> <em class="replaceable">x</em> <em class="replaceable">y</em></td><td><p>Name <em class="emphasis">x</em> stands for <em class="emphasis">y</tt></em>.</p></td></tr><tr><td><tt class="literal">case</tt></td><td><tt class="literal">case</tt></td><td><tt class="literal">switch/case</tt></td><td><p>Choose alternatives.</p></td></tr><tr><td> </td><td><tt class="literal">cd ~-</tt></td><td><tt class="literal">popd/pushd</tt></td><td><p>Switch directories.</p></td></tr><tr><td><tt class="literal">done</tt></td><td><tt class="literal">done</tt></td><td><tt class="literal">end</tt></td><td><p>End a loop statement.</p></td></tr><tr><td><tt class="literal">esac</tt></td><td><tt class="literal">esac</tt></td><td><tt class="literal">endsw</tt></td><td><p>End <tt class="literal">case</tt> or <tt class="literal">switch</tt>.</p></td></tr><tr><td><tt class="literal">exit [</tt><em class="replaceable"><tt>n</em><tt class="literal">]</tt></td><td><tt class="literal">exit [</tt><em class="replaceable">n</em><tt class="literal">]</tt></td><td><tt class="literal">exit [(</tt><em class="replaceable">expr</tt></em><tt class="literal">)]</tt></td><td><p>Exit with a status.</p></td></tr><tr><td><tt class="literal">for/do</tt></td><td><tt class="literal">for/do</tt></td><td><tt class="literal">foreach</tt></td><td><p>Loop through variables.</p></td></tr><tr><td> </td><td><tt class="literal">print -r</tt></td><td><tt class="literal">glob</tt></td><td><p>Ignore <tt class="literal">echo</tt> escapes.</p></td></tr><tr><td><tt class="literal">hash</tt></td><td><tt class="literal">alias -t</tt></td><td><tt class="literal">hashstat</tt></td><td><p>Display hashed commands (tracked aliases).</p></td></tr><tr><td><tt class="literal">hash</tt> <em class="replaceable"><tt>cmds</em></td><td><tt class="literal">alias -t</tt> <em class="replaceable">cmds</tt></em></td><td><tt class="literal">rehash</tt></td><td><p>Remember command locations.</p></td></tr><tr><td><tt class="literal">hash -r</tt></td><td><tt class="literal">PATH=$PATH</tt></td><td><tt class="literal">unhash</tt></td><td><p>Forget command locations.</p></td></tr><tr><td> </td><td><tt class="literal">history</tt></td><td><tt class="literal">history</tt></td><td><p>List previous commands.</p></td></tr><tr><td> </td><td><tt class="literal">r</tt></td><td><tt class="literal">!!</tt></td><td><p>Redo previous command.</p></td></tr><tr><td> </td><td><tt class="literal">r</tt> <em class="replaceable"><tt>str</em></td><td><tt class="literal">!</tt><em class="replaceable">str</em></td><td><p>Redo command that starts with <em class="emphasis">str</tt></em>.</p></td></tr><tr><td> </td><td><tt class="literal">r</tt> <em class="replaceable"><tt>x</em><tt class="literal">=</tt><em class="replaceable">cmd</em></td><td><tt class="literal">!</tt><em class="replaceable">cmd</em><tt class="literal">:s/</tt><em class="replaceable">x/y</tt></em></td><td><p>Edit command, then execute.</p></td></tr><tr><td><tt class="literal">if [ $i -eq 5 ]</tt></td><td><tt class="literal">if ((i==5))</tt></td><td><tt class="literal">if ($i==5)</tt></td><td><p>Sample <tt class="literal">if</tt> statement.</p></td></tr><tr><td><tt class="literal">fi</tt></td><td><tt class="literal">fi</tt></td><td><tt class="literal">endif</tt></td><td><p>End <tt class="literal">if</tt> statement.</p></td></tr><tr><td><tt class="literal">ulimit</tt></td><td><tt class="literal">ulimit</tt></td><td><tt class="literal">limit</tt></td><td><p>Set resource limits.</p></td></tr><tr><td><tt class="literal">pwd</tt></td><td><tt class="literal">pwd</tt></td><td><tt class="literal">dirs</tt></td><td><p>Print working directory.</p></td></tr><tr><td><tt class="literal">read</tt></td><td><tt class="literal">read</tt></td><td><tt class="literal">$<</tt></td><td><p>Read from standard input.</p></td></tr><tr><td><tt class="literal">trap 2</tt></td><td><tt class="literal">trap 2</tt></td><td><tt class="literal">onintr</tt></td><td><p>Ignore interrupts.</p></td></tr><tr><td> </td><td><tt class="literal">unalias</tt></td><td><tt class="literal">unalias</tt></td><td><p>Remove aliases.</p></td></tr><tr><td><tt class="literal">until/do</tt></td><td><tt class="literal">until/do</tt></td><td> </td><td><p>Begin <tt class="literal">until</tt> loop.</p></td></tr><tr><td><tt class="literal">while/do</tt></td><td><tt class="literal">while/do</tt></td><td><tt class="literal">while</tt></td><td><p>Begin <tt class="literal">while</tt> loop.</p></td></tr></table><p><a name="IXT-3-122639" /><a name="IXT-3-122640" /><a name="IXT-3-122641" /><a name="IXT-3-122642" /><hr width="684" align="left" /><div class="navbar"><table width="684" border="0"><tr><td align="left" valign="top" width="228"><a href="ch03_04.htm"><img src="../gifs/txtpreva.gif" alt="Previous" border="0" /></a></td><td align="center" valign="top" width="228"><a href="index.htm"><img src="../gifs/txthome.gif" alt="Home" border="0" /></a></td><td align="right" valign="top" width="228"><a href="ch04_01.htm"><img src="../gifs/txtnexta.gif" alt="Next" border="0" /></a></td></tr><tr><td align="left" valign="top" width="228">3.4. Common Features</td><td align="center" valign="top" width="228"><a href="index/index.htm"><img src="../gifs/index.gif" alt="Book Index" border="0" /></a></td><td align="right" valign="top" width="228">4. The Bourne Shell and Korn Shell</td></tr></table></div><hr width="684" align="left" /><img src="../gifs/navbar.gif" usemap="#library-map" border="0" alt="Library Navigation Links" /><p><p><font size="-1"><a href="copyrght.htm">Copyright © 2003</a> O'Reilly & Associates. All rights reserved.</font></p><map name="library-map"><area shape="rect" coords="1,0,88,96" href="../index.htm"><area shape="rect" coords="90,0,165,96" href="../upt/index.htm"><area shape="rect" coords="168,1,253,107" href="../mac/index.htm"><area shape="rect" coords="255,0,335,97" href="../korn/index.htm"><area shape="rect" coords="337,0,415,109" href="../unixnut/index.htm"><area shape="rect" coords="417,0,512,122" href="../sedawk/index.htm"><area shape="rect" coords="514,0,605,105" href="../lunix/index.htm"><area shape="rect" coords="611,2,694,121" href="../vi/index.htm"></map></body></html>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?