genesis2000脚本简单的csh语法讲解.doc_第1页
genesis2000脚本简单的csh语法讲解.doc_第2页
genesis2000脚本简单的csh语法讲解.doc_第3页
genesis2000脚本简单的csh语法讲解.doc_第4页
genesis2000脚本简单的csh语法讲解.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

genesis2000脚本简单的csh语法讲解一、变数1.字串变数这个部分和Bourne Shell的变数一样,只不过在设定变数值时不能使用BourneShell的方式,而必须打:set var=value2.数字运算基本上C Shell没有数字变数,但C Shell却有简单的方法处理数字运算: var operator expressionoperator可以是C语言中的=, +=, -=,,而expression则是运算式。运算式的运算子如下:A. ()改变计算的顺序B. 位元NOT运算!逻辑否定C.%取馀数/除*乘-减+加D.右移大於=大於等於=小於等於!=不等於=等於F.&位元AND运算位元XOR运算|位元OR运算G.&逻辑AND|逻辑OR除此之外,我们也可以检验一个档案的状态,如下-n filename而-n可为下列之一-d档案是一个目录档案-e档案存在-f档案为一般的档案-o使用者拥有这个档案-r使用者可以读取这个档案-w使用者可以写入这个档案-x使用者可以执行这个档案-z档案长度为0 count = count + 1 flag = -e /users/cc/mgtsai/mail & -e /usr/spool/mail3.阵列在C Shell中,我们可以宣告阵列变数,方式如下set var=(val1 val2 )而var1之值为val1,var2之值为val2。而$var代表整个阵列。我们可以用$#var来计算阵列个数,也可以用$?var来检查某个变数是否已宣告。4.特殊变数$argv和Bourne Shell的$*相似,只不过这是一个阵列。$argvn和Bourne Shell的$n相同,但不受个数限制。$#argv和Bourne Shell的$#相同$home和Bourne Shell的$HOME相同$path和Bourne Shell的$PATH相似,只不过这是一个阵列$prompt和Bourne Shell的$PS1相同$shell Shell的路径名称$status和Bourne Shell的$?相同$和Bourne Shell的$相同$键盘输入二、执行命令基本上和Bourne Shell相同,只有一点在Bourne Shell中的”.”命令在C Shell中则为”source”命令。三、流程控制在C Shell中流程控制不像Bourne Shell中一般需要使用test命令。相反地,它和C语言类似只要在条件中写出运式即可。当运算结果不为零时,其值为真,为零时其值为伪。以下是C Shell的流程控制1. if语法如下if (expression) simple-command2. goto语法如下goto label这时程式会跳至以l”label:”开头的那一行执行if ($#argv = 2) goto goodargsecho Please use two arguments.exitgoodrags:3. if then else这和Bourne Shell的if then, if then else, if then elif相似。语法如下A. if (expression) thencommandsendifB. if (expression) thencommandselsecommandsendifC. if (expression) thencommandselse if (expression) thencommandselsecommandsendif4. foreach这和Bourne Shell的for in相似。语法如下foreach var (arg-list)commandsend5. while这和Bourne Shell的while相似。语法如下while (expression)commandsend6. break及continue这和Bourne Shell的break及continue相似,是用来中断foreach及while回圈。7. switch这和Bourne Shell的case相似。语法如下switch (string)case pat1:commands1breakswcase pat2:commands2breakswcase pat3:commands3breakswendsw附录expr命令命令格式expr expression叙述expression是由字串以及运算子所组成,每个字串或是运算子之间必须用空白隔开。下表是运算子的种类及功能,而优先顺序则以先後次序排列,我们可以利用小括号来改变运算的优先次序。其运算结果则输出至标准输出上。:字串比较。比较的方式是以两字串的第一个字母开始,而以第二个字串的字母结束。如果相同时,则输出第二个字串的字母个数,如果不同时则传回0。*乘法/除法%取馀数+加法-减法小於=大於等於大於& AND运算| OR运算当expression中含有”*”, “(”, “)”等符号时,必须在其前面加上”,以免被Shell解释成其它意义。expr 2 * ( 3 + 4 )其输出为14附录test命令命令格式test expression叙述expression中包含一个以上的判断准则以作为test评诂的标准。两准则间用”-a”代表逻辑AND运算,”-o”代表逻辑OR运算,而在准则前放置一”!”代表NOT运算。如果没有括号,则优先权则为”!” “-a” “-o”。和expr命令相同,相使用左右括号时,必须在其前面加上”。以下是有关准则的叙述(合叙述时传回真,否则传回伪):string string不为空白字串-n string string的长度大於0-z string string的长度等於0string1=string2 string1等於string2string1!=string2 string1不等於string2int1 -gt int2 int1大於int2int1 -ge int2 int1大於等於int2int1 -eq int2 int1等於int2int1 -ne int2 int1不等於int2int1 -le int2 int1小於等於int2int1 -lt int2 int1小於int2-

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论