⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 appendix b.htm

📁 linux、unix初学者的必读书籍 详细讲述了shell编程方法与技巧
💻 HTM
📖 第 1 页 / 共 2 页
字号:
  <li>
  <p class="docList">Advanced pattern matching</li>
  <li>
  <p class="docList">Arrays</li>
  <li>
  <p class="docList">The <span class="docEmphasis">select</span> loop (from Korn
  shell)</li>
  <li>
  <p class="docList">Many new built-in commands</li>
</ul>
<table cellSpacing="0" cellPadding="1" width="100%" border="1">
  <colgroup span="5" align="left">
  </colgroup>
  <tr>
    <th class="docTableHeader" vAlign="top"><span class="docEmphBoldItalic">
    Feature</span> </th>
    <th class="docTableHeader" vAlign="top"><span class="docEmphBoldItalic">csh/tcsh</span>
    </th>
    <th class="docTableHeader" vAlign="top"><span class="docEmphBoldItalic">
    Bourne</span> </th>
    <th class="docTableHeader" vAlign="top"><span class="docEmphBoldItalic">Bash</span>
    </th>
    <th class="docTableHeader" vAlign="top"><span class="docEmphBoldItalic">Korn</span>
    </th>
  </tr>
  <tr>
    <td class="docTableCell" vAlign="top" colSpan="5">
    <span class="docEmphBoldItalic">Variables:</span> </td>
  </tr>
  <tr>
    <td class="docTableCell" vAlign="top">Assigning values to local variables
    </td>
    <td class="docTableCell" vAlign="top"><tt>set x = 5</tt> </td>
    <td class="docTableCell" vAlign="top"><tt>x=5</tt> </td>
    <td class="docTableCell" vAlign="top"><tt>x=5</tt> </td>
    <td class="docTableCell" vAlign="top"><tt>x=5</tt> </td>
  </tr>
  <tr>
    <td class="docTableCell" vAlign="top">Assigning variable attributes </td>
    <td class="docTableCell" vAlign="top">&nbsp;</td>
    <td class="docTableCell" vAlign="top">&nbsp;</td>
    <td class="docTableCell" vAlign="top"><tt>declare</tt>
    <span class="docEmphasis"><tt>or</tt></span> <tt>typeset</tt> </td>
    <td class="docTableCell" vAlign="top"><tt>typeset</tt> </td>
  </tr>
  <tr>
    <td class="docTableCell" vAlign="top">Assigning values to environment
    variables </td>
    <td class="docTableCell" vAlign="top"><tt>setenv NAME Bob</tt> </td>
    <td class="docTableCell" vAlign="top"><tt>NAME='Bob'; export NAME</tt> </td>
    <td class="docTableCell" vAlign="top"><tt>export NAME='Bob'</tt> </td>
    <td class="docTableCell" vAlign="top"><tt>export NAME='Bob'</tt> </td>
  </tr>
  <tr>
    <td class="docTableCell" vAlign="top" colSpan="5">
    <span class="docEmphBoldItalic">Read-Only Variables:</span> </td>
  </tr>
  <tr>
    <td class="docTableCell" vAlign="top">Accessing variables </td>
    <td class="docTableCell" vAlign="top">
    <pre>echo $NAME
set var = net
echo ${var}work
<span class="docEmphasis">network</span>
</pre>
    </td>
    <td class="docTableCell" vAlign="top">
    <pre>echo $NAME
var=net
echo ${var}work
<span class="docEmphasis">network</span>
</pre>
    </td>
    <td class="docTableCell" vAlign="top">
    <pre>echo $NAME
var=net
echo ${var}work
<span class="docEmphasis">network</span>
</pre>
    </td>
    <td class="docTableCell" vAlign="top">
    <pre>echo $NAME or print $NAME
var=net
print ${var}work
<span class="docEmphasis">network</span>
</pre>
    </td>
  </tr>
  <tr>
    <td class="docTableCell" vAlign="top">Number of characters </td>
    <td class="docTableCell" vAlign="top"><tt>echo $%var</tt> (<span class="docEmphasis">tcsh</span>
    only) </td>
    <td class="docTableCell" vAlign="top">N/A </td>
    <td class="docTableCell" vAlign="top"><tt>${#var}</tt> </td>
    <td class="docTableCell" vAlign="top"><tt>${#var}</tt> </td>
  </tr>
  <tr>
    <td class="docTableCell" vAlign="top" colSpan="5">
    <span class="docEmphBoldItalic">Special Variables:</span> </td>
  </tr>
  <tr>
    <td class="docTableCell" vAlign="top">PID of the process </td>
    <td class="docTableCell" vAlign="top"><tt>$$</tt> </td>
    <td class="docTableCell" vAlign="top"><tt>$$</tt> </td>
    <td class="docTableCell" vAlign="top"><tt>$$</tt> </td>
    <td class="docTableCell" vAlign="top"><tt>$$</tt> </td>
  </tr>
  <tr>
    <td class="docTableCell" vAlign="top">Exit status </td>
    <td class="docTableCell" vAlign="top"><tt>$status, $?</tt> </td>
    <td class="docTableCell" vAlign="top"><tt>$?</tt> </td>
    <td class="docTableCell" vAlign="top"><tt>$?</tt> </td>
    <td class="docTableCell" vAlign="top"><tt>$?</tt> </td>
  </tr>
  <tr>
    <td class="docTableCell" vAlign="top">Last background job </td>
    <td class="docTableCell" vAlign="top"><tt>$!</tt> (<span class="docEmphasis">tcsh</span>
    only) </td>
    <td class="docTableCell" vAlign="top"><tt>$!</tt> </td>
    <td class="docTableCell" vAlign="top"><tt>$!</tt> </td>
    <td class="docTableCell" vAlign="top"><tt>$!</tt> </td>
  </tr>
  <tr>
    <td class="docTableCell" vAlign="top" colSpan="5">
    <span class="docEmphBoldItalic">Arrays:</span> </td>
  </tr>
  <tr>
    <td class="docTableCell" vAlign="top">Assigning arrays </td>
    <td class="docTableCell" vAlign="top"><tt>set x = ( a b c )</tt> </td>
    <td class="docTableCell" vAlign="top">N/A </td>
    <td class="docTableCell" vAlign="top">
    <pre>y[0]='a'; y[2]='b';
   y[2]='c'
fruit=(apples pears
   peaches plums)
</pre>
    </td>
    <td class="docTableCell" vAlign="top">
    <pre>y[0]='a'; y[1]='b';
   y[2]='c'
set 朅 fruit apples
   pears plums
</pre>
    </td>
  </tr>
  <tr>
    <td class="docTableCell" vAlign="top">Accessing array elements </td>
    <td class="docTableCell" vAlign="top"><tt>echo $x[1] $x[2]</tt> </td>
    <td class="docTableCell" vAlign="top">N/A </td>
    <td class="docTableCell" vAlign="top"><tt>echo ${y[0]} ${y[1]}</tt> </td>
    <td class="docTableCell" vAlign="top"><tt>print ${y[0]} ${y[1]}</tt> </td>
  </tr>
  <tr>
    <td class="docTableCell" vAlign="top">All elements </td>
    <td class="docTableCell" vAlign="top"><tt>echo $x or $x[*]</tt> </td>
    <td class="docTableCell" vAlign="top">N/A </td>
    <td class="docTableCell" vAlign="top"><tt>echo ${y[*]}, ${fruit[0]}</tt>
    </td>
    <td class="docTableCell" vAlign="top"><tt>print ${y[*]}, ${fruit[0]}</tt>
    </td>
  </tr>
  <tr>
    <td class="docTableCell" vAlign="top">No. of elements </td>
    <td class="docTableCell" vAlign="top"><tt>echo $#x</tt> </td>
    <td class="docTableCell" vAlign="top">N/A </td>
    <td class="docTableCell" vAlign="top"><tt>echo $y{#[*]}</tt> </td>
    <td class="docTableCell" vAlign="top"><tt>print ${#y[*]}</tt> </td>
  </tr>
  <tr>
    <td class="docTableCell" vAlign="top" colSpan="5">
    <span class="docEmphBoldItalic">Command Substitution:</span> </td>
  </tr>
  <tr>
    <td class="docTableCell" vAlign="top">Assigning output of command to
    variable </td>
    <td class="docTableCell" vAlign="top"><tt>set d = `date`</tt> </td>
    <td class="docTableCell" vAlign="top"><tt>d=`date`</tt> </td>
    <td class="docTableCell" vAlign="top"><tt>d=$(date) or d=`date`</tt> </td>
    <td class="docTableCell" vAlign="top"><tt>d=$(date) or d=`date`</tt> </td>
  </tr>
  <tr>
    <td class="docTableCell" vAlign="top">Accessing values </td>
    <td class="docTableCell" vAlign="top">
    <pre>echo $d
echo $d[1], $d[2],
   ...
echo $#d
</pre>
    </td>
    <td class="docTableCell" vAlign="top"><tt>echo $d</tt> </td>
    <td class="docTableCell" vAlign="top"><tt>echo $d</tt> </td>
    <td class="docTableCell" vAlign="top"><tt>print $d</tt> </td>
  </tr>
  <tr>
    <td class="docTableCell" vAlign="top" colSpan="5">
    <span class="docEmphBoldItalic">Command Line Arguments (Positional
    Parameters):</span> </td>
  </tr>
  <tr>
    <td class="docTableCell" vAlign="top">Accessing </td>
    <td class="docTableCell" vAlign="top">
    <pre>$argv[1], $argv[2]
or
$1, $2 ...
</pre>
    </td>
    <td class="docTableCell" vAlign="top"><tt>$1, $2 ... $9</tt> </td>
    <td class="docTableCell" vAlign="top"><tt>$1, $2, ... ${10}</tt> 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -