📄 324.html
字号:
esac<br>
<br>
而pat 除了可以指定一些确定的字串,也可以指定字串的集合,如下<br>
<br>
* 任意字串<br>
<br>
? 任意字元<br>
<br>
[abc] a, b, 或c三字元其中之一<br>
<br>
[a-n] 从a到n的任一字元<br>
<br>
| 多重选择<br>
<br>
echo 'Enter A, B, or C: c'<br>
<br>
read letter<br>
<br>
case $letter in<br>
<br>
A|a) echo 'You entered A.';;<br>
<br>
B|b) echo 'You entered B.';;<br>
<br>
C|c) echo 'You entered C.';;<br>
<br>
*) echo 'Not A, B, or C';;<br>
<br>
esac<br>
<br>
10. 函数 格式如下 function-name() { commands } 而要呼叫此函数,就像在命令列下直接下命令一般。<br>
<br>
□C Shell C Shell 有些特性和Bourne Shell一样,但有些不相同。这里介绍与Bourne Shell 不相同的地方。<br>
<br>
一、变数<br>
<br>
1. 字串变数 这个部分和Bourne Shell的变数一样,只不过在设定变数值时不能使用Bourne Shell的方式,而必须打:<br>
<br>
set var=value<br>
<br>
2. 数字运算 基本上C Shell 没有数字变数,但C Shell 却有简单的方法处理数字运算:<br>
<br>
@ var operator expression<br>
<br>
operator可以是C 语言中的=, +=, -=,......,而expression则是运算式。运 算式的运算子如下:<br>
<br>
A. () 改变计算的顺序 ~@<br>
<br>
B. ~ 位元NOT运算 @~~ ! 逻辑否定<br>
<br>
C. % 取馀数 C. % 取馀数 / 除 * 乘 - 减 + 加<br>
<br>
D. >> 右移 << 左移<br>
<br>
E. > 大於 < 小於 >= 大於等於 <= 小於等於 != 不等於 == 等於<br>
<br>
F. & 位元AND运算 ^ 位元XOR运算 | 位元OR 运算<br>
<br>
G. && 逻辑AND || 逻辑OR<br>
<br>
除此之外,我们也可以检验一个档案的状态,如下<br>
<br>
-n filename<br>
<br>
而-n可为下列之一<br>
<br>
-d 档案是一个目录档案<br>
<br>
-e 档案存在<br>
<br>
-f 档案为一般的档案<br>
<br>
-o 使用者拥有这个档案<br>
<br>
-r 使用者可以读取这个档案<br>
<br>
-w 使用者可以写入这个档案<br>
<br>
-x 使用者可以执行这个档案<br>
<br>
-z 档案长度为0<br>
<br>
@ count = count + 1<br>
<br>
@ flag = -e /users/cc/mgtsai/mail && -e /usr/spool/mail<br>
<br>
3. 阵列<br>
<br>
在C Shell 中,我们可以宣告阵列变数,方式如下<br>
<br>
set var=(val1 val2 ......) 而var[1]之值为val1,var[2]之值为val2......。而$var代表整个阵列。我们 可以用$#var 来计算阵列个数,也可以用$?var 来检查某个变数是否已宣告。<br>
<br>
4. 特殊变数<br>
<br>
$argv 和Bourne Shell的$*相似,只不过这是一个阵列。<br>
<br>
$argv[n] 和Bourne Shell的$n相同,但不受个数限制。<br>
<br>
$#argv 和Bourne Shell的$#相同<br>
<br>
$home 和Bourne Shell的$HOME相同<br>
<br>
$path 和Bourne Shell的$PATH相似,只不过这是一个阵列<br>
<br>
$prompt 和Bourne Shell的$PS1相同<br>
<br>
$shell Shell的路径名称 $status 和Bourne Shell的$?相同<br>
<br>
$$ 和Bourne Shell的$$相同<br>
<br>
$< 键盘输入<br>
<br>
二、执行命令<br>
<br>
基本上和Bourne Shell相同,只有一点在Bourne Shell中的"." 命令在C Shell 中 则为"source"命令。<br>
<br>
三、流程控制<br>
<br>
在C Shell 中流程控制不像Bourne Shell中一般需要使用test命令。相反地,它和 C 语言类似只要在条件中写出运□式即可。当运算结果不为零时,其值为真,为零 时其值为伪。以下是C Shell的流程控制<br>
<br>
1. if 语法如下<br>
<br>
if (expression) simple-command<br>
<br>
2. goto 语法如下<br>
<br>
goto label<br>
<br>
这时程式会跳至以l"label:"开头的那一行执行<br>
<br>
if ($#argv == 2) goto goodargs<br>
<br>
echo 'Please use two arguments.'<br>
<br>
exit<br>
<br>
goodrags: ...<br>
<br>
3. if then else<br>
<br>
这和Bourne Shell的if then, if then else, if then elif 相似。语法如下<br>
<br>
A. if (expression) then commands endif<br>
<br>
B. if (expression) then commands else commands endif<br>
<br>
C. if (expression) then commands else if (expression) then commands else commands endif<br>
<br>
4. foreach 这和Bourne Shell的for in相似。语法如下<br>
<br>
foreach var (arg-list)<br>
<br>
commands<br>
<br>
end<br>
<br>
5. while 这和Bourne Shell的while相似。语法如下<br>
<br>
while (expression)<br>
<br>
commands<br>
<br>
end<br>
<br>
6. break及continue<br>
<br>
这和Bourne Shell的break 及continue相似,是用来中断foreach 及while 回 圈。<br>
<br>
7. switch 这和Bourne Shell的case相似。语法如下<br>
<br>
switch (string)<br>
<br>
case pat1:<br>
<br>
commands1<br>
<br>
breaksw<br>
<br>
case pat2:<br>
<br>
commands2<br>
<br>
breaksw<br>
<br>
case pat3:<br>
<br>
commands3<br>
<br>
breaksw<br>
<br>
endsw<br>
<br>
□附录A expr命令<br>
<br>
命令格式<br>
<br>
expr expression<br>
<br>
叙述<br>
<br>
expression是由字串以及运算子所组成,每个字串或是运算子之间必须用空白隔开 。下表是运算子的种类及功能,而优先顺序则以先後次序排列,我们可以利用小括 号来改变运算的优先次序。其运算结果则输出至标准输出上。<br>
<br>
: 字串比较。比较的方式是以两字串的第一个字母开始,而以第二个字串的 字母结束。如果相同时,则输出第二个字串的字母个数,如果不同时则传 回0 。<br>
<br>
* 乘法<br>
<br>
/ 除法<br>
<br>
% 取馀数<br>
<br>
+ 加法<br>
<br>
- 减法<br>
<br>
< 小於<br>
<br>
<= 小於等於<br>
<br>
= 等於<br>
<br>
!= 不等於<br>
<br>
>= 大於等於<br>
<br>
> 大於<br>
<br>
& AND运算<br>
<br>
| OR运算<br>
<br>
当expression中含有"*", "(", ")" 等符号时,必须在其前面加上"" ,以免被 Shell 解释成其它意义。 <br>
<br>
expr 2 * ( 3 + 4 ) 其输出为14<br>
<br>
□附录B test命令<br>
<br>
命令格式<br>
<br>
test expression<br>
<br>
叙述<br>
<br>
expression中包含一个以上的判断准则以作为test评诂的标准。两准则间用"-a"代 表逻辑AND 运算,"-o"代表逻辑OR运算,而在准则前放置一"!" 代表NOT 运算。如 果没有括号,则优先权则为"!" > "-a" > "-o" 。和expr命令相同,相使用左右括 号时,必须在其前面加上"" 。以下是有关准则的叙述(合叙述时传回真,否则传 回伪):<br>
<br>
string string不为空白字串<br>
<br>
-n string string的长度大於0<br>
<br>
-z string string的长度等於0<br>
<br>
string1=string2 string1等於string2<br>
<br>
string1!=string2 string1不等於string2<br>
<br>
int1 -gt int2 int1大於int2<br>
<br>
int1 -ge int2 int1大於等於int2<br>
<br>
int1 -eq int2 int1等於int2<br>
<br>
int1 -ne int2 int1不等於int2<br>
<br>
int1 -le int2 int1小於等於int2<br>
<br>
int1 -lt int2 int1小於int2<br>
<br>
-r filename 档案可读取<br>
<br>
-w filename 档案可写入<br>
<br>
-x filename 档案可执行<br>
<br>
-f filename 档案为一般档<br>
<br>
-d filename 档案为目录<br>
<br>
-s filename 档案为非空的一般档<br>
<br>
test -r "$filename" -a -s "$filename"<br>
<br>
<br>
</FONT><br>
</TD>
</TR>
<TR>
<TD colSpan=2><FONT
class=middlefont></FONT><BR>
<FONT
class=normalfont>全文结束</FONT> </TD>
</TR>
<TR>
<TD background="images/dot.gif" tppabs="http://www.linuxhero.com/docs/images/dot.gif" colSpan=2
height=10></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></DIV></TD>
<TD vAlign=top width="20%"
background="images/line.gif" tppabs="http://www.linuxhero.com/docs/images/line.gif" rowSpan=2>
<DIV align=center>
<table class=tableoutline cellspacing=1 cellpadding=4
width="100%" align=center border=0>
<tr class=firstalt>
<td noWrap background="images/bgline.gif" tppabs="http://www.linuxhero.com/docs/images/bgline.gif" colspan=2 height=21>
<font class=normalfont><b>所有分类</b></font></td>
</tr>
<tr class=secondalt> <td noWrap width=27%> <font class=normalfont>1:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type1.html" tppabs="http://www.linuxhero.com/docs/type1.html">非技术类</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>2:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type2.html" tppabs="http://www.linuxhero.com/docs/type2.html">基础知识</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>3:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type3.html" tppabs="http://www.linuxhero.com/docs/type3.html">指令大全</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>4:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type4.html" tppabs="http://www.linuxhero.com/docs/type4.html">shell</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>5:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type5.html" tppabs="http://www.linuxhero.com/docs/type5.html">安装启动</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>6:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type6.html" tppabs="http://www.linuxhero.com/docs/type6.html">xwindow</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>7:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type7.html" tppabs="http://www.linuxhero.com/docs/type7.html">kde</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>8:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type8.html" tppabs="http://www.linuxhero.com/docs/type8.html">gnome</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>9:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type9.html" tppabs="http://www.linuxhero.com/docs/type9.html">输入法类</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>10:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type10.html" tppabs="http://www.linuxhero.com/docs/type10.html">美化汉化</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>11:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type11.html" tppabs="http://www.linuxhero.com/docs/type11.html">网络配置</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>12:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type12.html" tppabs="http://www.linuxhero.com/docs/type12.html">存储备份</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>13:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type13.html" tppabs="http://www.linuxhero.com/docs/type13.html">杂项工具</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>14:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type14.html" tppabs="http://www.linuxhero.com/docs/type14.html">编程技术</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>15:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type15.html" tppabs="http://www.linuxhero.com/docs/type15.html">网络安全</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>16:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type16.html" tppabs="http://www.linuxhero.com/docs/type16.html">内核技术</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>17:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type17.html" tppabs="http://www.linuxhero.com/docs/type17.html">速度优化</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>18:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type18.html" tppabs="http://www.linuxhero.com/docs/type18.html">apache</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>19:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type19.html" tppabs="http://www.linuxhero.com/docs/type19.html">email</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>20:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type20.html" tppabs="http://www.linuxhero.com/docs/type20.html">ftp服务</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>21:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type21.html" tppabs="http://www.linuxhero.com/docs/type21.html">cvs服务</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>22:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type22.html" tppabs="http://www.linuxhero.com/docs/type22.html">代理服务</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>23:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type23.html" tppabs="http://www.linuxhero.com/docs/type23.html">samba</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>24:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type24.html" tppabs="http://www.linuxhero.com/docs/type24.html">域名服务</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>25:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type25.html" tppabs="http://www.linuxhero.com/docs/type25.html">网络过滤</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>26:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type26.html" tppabs="http://www.linuxhero.com/docs/type26.html">其他服务</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>27:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type27.html" tppabs="http://www.linuxhero.com/docs/type27.html">nfs</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>28:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type28.html" tppabs="http://www.linuxhero.com/docs/type28.html">oracle</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>29:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type29.html" tppabs="http://www.linuxhero.com/docs/type29.html">dhcp</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>30:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type30.html" tppabs="http://www.linuxhero.com/docs/type30.html">mysql</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>31:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type31.html" tppabs="http://www.linuxhero.com/docs/type31.html">php</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>32:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type32.html" tppabs="http://www.linuxhero.com/docs/type32.html">ldap</a></font></td> </tr> </table></td></tr> </table>
</DIV></TD></TR>
<TR vAlign=top>
<TD width="80%">
<DIV align=center><BR>
</DIV>
</TD></TR></TBODY></TABLE></TD></TR>
</TABLE></TD></TR>
</TABLE>
<TABLE cellSpacing=0 cellPadding=4 width="100%" bgColor=#eeeeee
border=0><TBODY>
<TR>
<TD width="50%">
<P><FONT class=middlefont>版权所有 © 2004 <A
href="mailto:bjchenxu@sina.com">linux知识宝库</A><BR>
违者必究. </FONT></P>
</TD>
<TD width="50%">
<DIV align=right><FONT class=middlefont>Powered by: <A
href="mailto:bjchenxu@sina.com">Linux知识宝库</A> Version 0.9.0 </FONT></DIV>
</TD></TR></TBODY></TABLE>
<CENTER></CENTER></TD></TR>
</TABLE></CENTER></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -