- 浏览: 98610 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
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 1043... -
一个项目经理的一些个人体会(转贴)
2006-05-31 15:51 860本人做项目经理工作多年,感到做这个工作最要紧的就是要明白什么是 ... -
一个研究生毕业以后的人生规划(ZT)
2006-08-13 14:22 644我今年39岁了, 25岁研究生毕业,工作14年,回头看看, ... -
如何写好一份工程师简历
2006-09-02 17:28 877近三年 Google( ... -
最近想的(2)
2006-09-02 17:58 5901.如果我有压力的话,压力来自于自己。 2.在思 ... -
JAVA相关基础
2006-09-09 12:18 6571、面向对象的特征有哪些方面 1.抽象:抽象就是忽略一个主 ... -
深入理解abstract class和interface(转贴)
2006-09-09 20:54 654abstract class和interface是Ja ... -
关于子网掩码的计算
2006-09-11 09:23 861关于子网掩码计算- - ... -
Ruby的特点
2006-09-21 09:45 642Ruby,一种面向 ... -
开发人员如何成为架构师
2007-02-22 23:22 653很多架构师都是从 ... -
数字通讯基础:同步与异步
2007-04-13 13:31 729有两个方面的同步问题 ... -
华为最近的C语言笔试题
2007-04-25 13:18 999一、判断题(对的写T,错的写F并说明原因,每小题4分,共20分 ... -
为什么我们会失败
2007-04-27 00:00 6741、缺乏目标; ... -
看盘做短线的10种方法
2008-01-06 22:13 703现在把做短线的看盘方法总结后介绍给大家。需要说明的是: (1) ... -
Shell script 笔记
2008-01-07 15:48 10371.使脚本文件具有可执 ... -
FPGA and DSP introduction
2008-01-08 10:57 8141.DSP DSP芯片,也称数字 ... -
TCSH编程(2)
2008-01-09 18:33 1379条件测试 test命令 1,测试文件状态 表达方式: ... -
爱立信展望2008全球电信业5大趋势
2008-01-14 08:56 8072007年的电信业,充满变化与活力:移动、宽带用户继续增长,新 ... -
JAVAC 命令详解
2008-01-16 19:01 7155结构 javac [ options ] [ sour ... -
Junit中error和failure区别
2008-01-21 16:14 1836JUnit 中有两种错误类型,一个是 failure,另一个是 ...
相关推荐
C shell最初由Bill Joy为Berkeley Software Distribution (BSD) 版本的Unix设计,因其语法类似于C编程语言而得名。而tcsh则是C shell的一个增强版,由Todd Vierling开发,它引入了许多新特性,包括自动补全、历史...
史上最全编程语言全套教程,共99门编程语言,包括: 函数式编程语言 壳编程语言 常见编程语言 并行编程语言 数据分析编程语言 数据库查询语言 系统编程语言 脚本编程语言 逻辑编程语言 面向对象编程语言 等所有常见...
- 控制结构更接近传统编程语言的格式,如C语言。 - TCSH的条件控制结构基于表达式而非Linux命令,其返回逻辑值`true`或`false`。 - **TCSH与C语言的相似性**: - TCSH的表达式语法与C语言非常相似,这使得程序员...
shell 的历史悠久,UNIX 系统上有多种 shell,包括 sh(Bourne Shell)、csh(C Shell)、ksh(Korn Shell)、tcsh(TENEX C Shell)和 bash(Bourne Again Shell)。每种 shell 都有其特点和功能,例如 csh 支持...
Linux 提供的 Shell 解析器有 bash、sh、dash、tcsh、csh 等。Centos 的默认解析器是 bash。bash 和 sh 之间存在关系,sh 是 bash 的符号链接。 Shell 脚本入门 Shell 脚本是指一系列的命令集合,用于自动完成某些...
csh(C Shell)实际上是tcsh的别名,具有较多的内置命令和复杂的功能。zsh则是一个功能极其丰富的shell,但因其庞大,一般用途可能并不需要。 shell编程的基础涉及变量定义、参数传递以及控制结构。shell脚本...
常见的shell有Bash(Bourne-Again SHell)、Sh、Csh、Tcsh等,其中Bash是最广泛使用的。学习shell编程,首先要了解基本的命令行操作,如创建、移动、删除文件和目录,以及查看文件内容等。 接下来,我们深入到shell...
例如,shell脚本语言如BASH、TCSH等就依赖于解释器,而编译型语言如C、C++则需要通过编译器预处理、编译和链接生成可执行文件。 在编写代码时,遵循GNU编程风格是必要的。这包括将函数返回类型与函数名分两行写,...
1. **Shell种类**:Linux中有多种Shell,如Bash(Bourne-Again SHell)、Sh、Csh、Tcsh等,其中Bash是最常用的一种,它继承了Sh的功能,并添加了许多新特性。 2. **基本命令**:Shell编程的基础是掌握各种内置命令...
csh(通常指向tcsh)和zsh则提供了更多高级功能和命令,适合对Shell有深入需求的用户。 进行Shell编程,也被称为Shell脚本或Shell命令文件,可以让用户编写一系列命令来实现自动化任务。这包括定义变量、参数,以及...
在Linux和UNIX世界中,常见的Shell有Bash(Bourne Again SHell)、Sh(Bourne Shell)、Csh(C Shell)和Tcsh(Turbo C Shell)。其中,Bash是目前最广泛使用的Shell,它继承了Sh的功能,并添加了许多增强特性,如...
3. **控制结构**:Shell编程支持条件语句(if-else)、循环(for、while、until)以及函数定义。这些结构使得编写复杂的自动化脚本成为可能。 4. **命令行参数**:在Shell脚本中,可以使用$1, $2, ... 来访问命令行...
常见的Shell有Bash(Bourne-Again SHell)、Csh、Tcsh、Zsh等,其中Bash是大多数Linux发行版的默认Shell。 2. **基础语法**:Shell脚本的基本结构包括变量定义、条件语句(if-else)、循环语句(for、while)、函数...
在Linux和Unix系统中,Shell主要有Bash(Bourne Again SHell)、C Shell(csh)、TCSH( TENex C Shell)以及KSH(Korn Shell)等。其中,Bash是目前最广泛使用的Shell,也是GNU/Linux系统的默认Shell。本书可能着重...
根据提供的文件信息,本书《LINUX-UNIX-Shells》是一本详细介绍各种Unix/Linux下的Shell环境的书籍,包括了Bourne Shell、Korn Shell、C Shell、Bash以及Tcsh等主流Shell类型。该书由Helmut Herold编写,并且已经是...