- 浏览: 94873 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
loveduck2005:
很实用的帖子,对我很有帮助,感谢楼主!!
发现价值(2) ---无限的网络资源 -
JimyChen:
非常好啊,thank you
发现价值(2) ---无限的网络资源 -
jeffchen:
看一下能评论吗
用JAVA操作ClearCase
控制流结构
1, 退出状态
任何命令进行时都将返回一个推出状态,如果要观察其退出状态,可使用命令echo $?来查看。
要推出当前进程,tcsh 提供命令exit ,一般的格式为exit n (n 为一数字)
n为0,退出成功,无错误。
n为1,退出失败,某处有错误
推荐加入脚本本身的退出脚本值是一种良好的编程习惯。
2,if-then-else 语句
格式:if( expr )then //如果此处then另起一行,则会报错”if:empty if.”
commands
else
commands
endif // 此处endif 可以省略
例子:
1,简单的if-then-else语句。
<shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><stroke joinstyle="miter"></stroke><formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f></formulas><path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></path><lock aspectratio="t" v:ext="edit"></lock></shapetype><shape id="_x0000_i1025" style="width: 414.75pt; height: 168.75pt" type="#_x0000_t75"><imagedata o:title="5" src="file:///C:%5CDOCUME~1%5Celeicen%5CLOCALS~1%5CTemp%5Cmsohtml1%5C01%5Cclip_image001.png"></imagedata></shape>
3,测试文件拷贝是否成功。
<shape id="_x0000_i1026" style="width: 415.5pt; height: 179.25pt" type="#_x0000_t75"><imagedata o:title="6" src="file:///C:%5CDOCUME~1%5Celeicen%5CLOCALS~1%5CTemp%5Cmsohtml1%5C01%5Cclip_image003.png"></imagedata></shape>
小问题:在输出时,系统提示的出错信息和自己设置的提示都显示出来,如何屏蔽掉系统的出错提示呢?―――――错误重定向。
<shape id="_x0000_i1027" style="width: 414.75pt; height: 199.5pt" type="#_x0000_t75"><imagedata o:title="7" src="file:///C:%5CDOCUME~1%5Celeicen%5CLOCALS~1%5CTemp%5Cmsohtml1%5C01%5Cclip_image005.png"></imagedata></shape>
3 , switch 语句
格式:switch( expression )
case comparasion 1:
commands
breaksw
case comparasion 2:
commands
breaksw
default:
endsw
例子:
<shape id="_x0000_i1028" style="width: 414.75pt; height: 264.75pt" type="#_x0000_t75"><imagedata o:title="10" src="file:///C:%5CDOCUME~1%5Celeicen%5CLOCALS~1%5CTemp%5Cmsohtml1%5C01%5Cclip_image007.png"></imagedata></shape>
1,”set va = $<”意思为从键盘读入一个数值作为变量va 的值。
1,如果每个case后面不加breaksw的话,则程序继续执行case 之后的语句
4 , for循环语句
格式:foreach variable( wordlist )
commands
……
end
含义解释:这个语句表示变量将取得wordlist 中每个可能的值。执行的循环命令是在语句foreach 和end 之间的。
例子:
1,给某个目录下的所有文件改名。<shape id="_x0000_i1029" style="width: 414.75pt; height: 222.75pt" type="#_x0000_t75"><imagedata o:title="11" src="file:///C:%5CDOCUME~1%5Celeicen%5CLOCALS~1%5CTemp%5Cmsohtml1%5C01%5Cclip_image009.png"></imagedata></shape>
在tcsh下,*代表改目录下的所有文件。
2,计算某个目录下的文件数目。
<shape id="_x0000_i1033" style="width: 414.75pt; height: 198pt" type="#_x0000_t75"><imagedata o:title="12" src="file:///C:%5CDOCUME~1%5Celeicen%5CLOCALS~1%5CTemp%5Cmsohtml1%5C01%5Cclip_image011.png"></imagedata></shape>
注意点:在tcsh下,关于变量的赋值问题。如果写成:
set temp = 1
temp = 2
则会报错“temp : command not found”解决方式是第二句写成set temp = 2.实际的操作实现是将原来的temp变量覆盖,并没有重新分配空间。
更简便的实现方法:
set temp =*
echo $#temp
5,while语句
格式:while ( expr )
commands
……
end
6,循环控制语句
1,break:用于退出最接近的foreach/while循环过程,可以制定跳出的层数。如果在两层循环内,则用break 2正好跳出。
2,continue:此命令继续执行最靠近的的while/foreach语句。当前其他的命令被执行。
例子:
<shape id="_x0000_i1030" style="width: 414.75pt; height: 265.5pt" type="#_x0000_t75"><imagedata o:title="16" src="file:///C:%5CDOCUME~1%5Celeicen%5CLOCALS~1%5CTemp%5Cmsohtml1%5C01%5Cclip_image013.png"></imagedata></shape>
数组
形式:括号中用空格或制表符分隔的一列词,数组元素的下标从1开始(和传统中的数组定义有所不同)。
例子:
<shape id="_x0000_i1031" style="width: 414.75pt; height: 202.5pt" type="#_x0000_t75"><imagedata o:title="13" src="file:///C:%5CDOCUME~1%5Celeicen%5CLOCALS~1%5CTemp%5Cmsohtml1%5C01%5Cclip_image015.png"></imagedata></shape>
重定向
一:标准输入,输出和错误
当我们在shell中执行命令得时候,每个进程都和三个打开的文件相联系,并使用文件描述符来应用这些文件。由于文件描述符不容易记忆,shell同时也给出了相应的文件名。
文件 |
文件描述符 |
缺省的设备 |
输入文件-标准输入 |
0 |
键盘或是文件 |
输出文件-标准输出 |
1 |
屏幕或是文件 |
错误输出文件-标准错误 |
2 |
屏幕或是文件 |
二:文件重定向
在执行命令时,可以指定命令的标准输入,输出和错误,要实现这一点就需要使用文件重定向,下表完整的列出了最常用的重定向组合。
规则:
<shape id="_x0000_i1032" style="width: 477pt; height: 230.25pt" type="#_x0000_t75"><imagedata o:title="14" src="file:///C:%5CDOCUME~1%5Celeicen%5CLOCALS~1%5CTemp%5Cmsohtml1%5C01%5Cclip_image017.png"></imagedata></shape>
几种常用用法:
1,ls -a >> record.txt
(输出重定向,将当前目录下的文件显示内容附加到record.txt中)
2,( cat 1.txt 2.txt > account.out) >& account.error
(将1.txt 和2.txt文件的合并内容输入到account.out中,如果发生错误则输入到account.error中)
3,grep "good" 1.txt >& account.out
(在1.txt中搜索含有good的字符串,并将输出结果和可能发生的错误都输入到account.out中)
发表评论
-
我的英文简历
2006-05-22 23:42 1004... -
一个项目经理的一些个人体会(转贴)
2006-05-31 15:51 830本人做项目经理工作多年,感到做这个工作最要紧的就是要明白什么是 ... -
一个研究生毕业以后的人生规划(ZT)
2006-08-13 14:22 620我今年39岁了, 25岁研究生毕业,工作14年,回头看看, ... -
如何写好一份工程师简历
2006-09-02 17:28 848近三年 Google( ... -
最近想的(2)
2006-09-02 17:58 5571.如果我有压力的话,压力来自于自己。 2.在思 ... -
JAVA相关基础
2006-09-09 12:18 6231、面向对象的特征有哪些方面 1.抽象:抽象就是忽略一个主 ... -
深入理解abstract class和interface(转贴)
2006-09-09 20:54 620abstract class和interface是Ja ... -
关于子网掩码的计算
2006-09-11 09:23 827关于子网掩码计算- - ... -
Ruby的特点
2006-09-21 09:45 603Ruby,一种面向 ... -
开发人员如何成为架构师
2007-02-22 23:22 620很多架构师都是从 ... -
数字通讯基础:同步与异步
2007-04-13 13:31 696有两个方面的同步问题 ... -
华为最近的C语言笔试题
2007-04-25 13:18 963一、判断题(对的写T,错的写F并说明原因,每小题4分,共20分 ... -
为什么我们会失败
2007-04-27 00:00 6411、缺乏目标; ... -
看盘做短线的10种方法
2008-01-06 22:13 669现在把做短线的看盘方法总结后介绍给大家。需要说明的是: (1) ... -
Shell script 笔记
2008-01-07 15:48 10061.使脚本文件具有可执 ... -
FPGA and DSP introduction
2008-01-08 10:57 7831.DSP DSP芯片,也称数字 ... -
TCSH编程(2)
2008-01-09 18:33 1346条件测试 test命令 1,测试文件状态 表达方式: ... -
爱立信展望2008全球电信业5大趋势
2008-01-14 08:56 7662007年的电信业,充满变化与活力:移动、宽带用户继续增长,新 ... -
JAVAC 命令详解
2008-01-16 19:01 7095结构 javac [ options ] [ sour ... -
Junit中error和failure区别
2008-01-21 16:14 1801JUnit 中有两种错误类型,一个是 failure,另一个是 ...
相关推荐
tcsh编程指导,解决tcsh基础问题 TCSH shell不同于其他的shell,因为控制结构更符合程序设计语言的格式。例如TCSH 的test条件的控制结构是表达式,而不是linux命令,得到的值是逻辑值true或false,TCSH的表达式与...
TCSH shell不同于其他的shell,因为控制结构更符合程序设计语言的格式。例如TCSH 的test条件的控制结构是表达式,而不是linux命令,得到的值是逻辑值true或false,TCSH的表达式与C语言中的表达式基本相同。
shell编程语言如BASH、TCSH、GAWK、Perl、Tcl和Tk都利用自己的解释器。用这些语言编制的程序尽管是应用程序文件,但可以直接运行。编译器则不同,它将生成一个独立的二进制代码文件然后才可以运行。
本书包含了所有你需要了解的Linux Shell的编程知识,是利用Linux核心Shell(bash和tcsh)与Linux Shell核心编程工具(grep、sed和gawk)进行编程的完整的,循序渐进式的指南,你将了解到:什么是Linux Shell,它们能完成...
变量: 变量的赋值和引用 在shell编程中变量没有类型,简称弱类型编程语言,不需要声明,在引用这个变量时会创建它(在变量名前加$符号引用变量的值)。在定义变量时,若String中包含空格、制表符、换行符,需用单...
关于使用bash和tcsh进行基本的和高级的shell编程的专家指南; 定制shell以及在命令行上交互使用shell的提示和技巧; 提供了vim和emacs的详细指南,目的是为了帮助读者提高编辑效率; 大量练习将有助于...
关于使用bash和tcsh进行基本的和高级的shell编程的专家指南; 定制shell以及在命令行上交互使用shell的提示和技巧; 提供了vim和emacs的详细指南,目的是为了帮助读者提高编辑效率; 大量练习将有助于...
什么是 Shell? Shell是一种具备特殊功能的程序,它是介于使用者和 UNIX/Linux 操作系统之核心程序(kernel)间的一个接口。为什么我们说 shell 是一种介于...本教程正是教你如何用linux shell编程。简单明了,通俗易懂。
shell编程完整清晰的电子书,非常好的参考教材。共29章和附录。pdf文档,非扫描版。
关于使用bash和tcsh进行基本的和高级的shell编程的专家指南; 定制 shell以及在命令行上交互使用shell的提示和技巧; 提供了vim和emacs的详细指南,目的是为了帮助读者提高编辑效率; 大量练习将有助于提高...
关于使用bash和tcsh进行基本的和高级的shell编程的专家指南; 定制shell以及在命令行上交互使用shell的提示和技巧; 提供了vim和emacs的详细指南,目的是为了帮助读者提高编辑效率; 大量练习将有助于...
本书重点讲述了当下最流行的两个Linux Shell——Borne Again Shell (bash)和TC Shell(tcsh),从它们的新特性、增加和内建的插件讲起直至具体的应用。通过对一个个实例的讲解,循序渐进地介绍了Linux Shell中的各个...
关于使用bash和tcsh进行基本的和高级的shell编程的专家指南; 定制shell以及在命令行上交互使用shell的提示和技巧; 提供了vim和emacs的详细指南,目的是为了帮助读者提高编辑效率; 大量练习将有助于...
出自bash的faq,仔细看看。顺便翻译学习一下。 代码如下:Section C: Differences from other Unix shellsC:跟其他UNIX shells脚本的区别C1) How does bash differ from sh, the Bourne shell?C1) bash和 sh、...
关于使用bash和tcsh进行基本的和高级的shell编程的专家指南; 定制shell以及在命令行上交互使用shell的提示和技巧; 提供了vim和emacs的详细指南,目的是为了帮助读者提高编辑效率; 大量练习将有助于...
关于使用bash和tcsh进行基本的和高级的shell编程的专家指南; 定制shell以及在命令行上交互使用shell的提示和技巧; 提供了vim和emacs的详细指南,目的是为了帮助读者提高编辑效率; 大量练习将有助于...
关于使用bash和tcsh进行基本的和高级的shell编程的专家指南; 定制shell以及在命令行上交互使用shell的提示和技巧; 提供了vim和emacs的详细指南,目的是为了帮助读者提高编辑效率; 大量练习将有助于...
关于使用bash和tcsh进行基本的和高级的shell编程的专家指南; 定制shell以及在命令行上交互使用shell的提示和技巧; 提供了vim和emacs的详细指南,目的是为了帮助读者提高编辑效率; 大量练习将有助于...
关于使用bash和tcsh进行基本的和高级的shell编程的专家指南; 定制shell以及在命令行上交互使用shell的提示和技巧; 提供了vim和emacs的详细指南,目的是为了帮助读者提高编辑效率; 大量练习将有助于...
关于使用bash和tcsh进行基本的和高级的shell编程的专家指南; 定制shell以及在命令行上交互使用shell的提示和技巧; 提供了vim和emacs的详细指南,目的是为了帮助读者提高编辑效率; 大量练习将有助于...