阅 读 文 章

shell 2

[来源:网上转载 (http://www.chinaunix.net) | 作者:网友(socketstrem) | 时间:2007-05-27 | 浏览:人次 ]


 

Shell编程-分支语句(1)

目标:

完成这一章,你将能够作以下事情:

描述条件选择语句中返回值的作用。 
使用test命令来分析一个命令的返回值。 
在shell程序中使用if和case结构。 
 

1.返回值

 

shell变量“?”中保存上一个被执行命令的返回值:

 

0: 命令成功地执行(真)

非零:命令由于出现错误而被终止(假)

 

例子:

$ true $ false

$ echo $?   $ echo $?

0  1

$ ls $ cp 

$ echo $?  Usage: cp f1 f2

0 cp [-r] f1 ....fn d1

$ echo $?$echo $?

0 1

  $echo $?

 0
 

 

 

 

所有的UNIX操作系统命令在结束的时候都要产生一个返回值。这个返回值通常被用来判断命令是正常结束(返回0)还是遇到了一些错误(返回非零值)。通过返回的非零值通常可以看出发生的是什么错误。例如,语法错误通常返回1,true命令返回的就是0,而false命令返回的是1。

大多数的shell程序中的判断语句都是通过分析这个返回值来进行流程控制的。shell中定义了一个特殊的变量“?”来保存上一个命令结束后的返回值。

你可以通过以下方式来观察前一个命令的返回值:

echo $?

当你执行一个条件判断(小于,大于,等于)的时候,返回值会指明这个条件是否为真(返回0)或者为假(返回非零)。

条件判断语句会在下几节中讲述。

 

2.test 命令

语法:

test expression 或者 [expression]

 

test命令对表达式进行评估,并且设置返回值。

 

表达式的值 返回值

true0

false 非零(通常为1)

test命令能够评估的对象有:

整数 
字符串 
文件 
 

 

test命令被用来评估表达式并且产生返回值。它用参数组成逻辑表达式并且对表达式进行评估。test命令不会产生标准输出。你必须必须通过返回值来判断test命令的结果。如果表达式为真,返回值会为0,如果表达式为假,返回值为1。

test命令可以被单独使用,然后你能够看到返回值,但它用的最多的还是在if和while结构中,用来提供条件流程控制。

test命令的也可以用[expression]来代替。这对提高可读性有帮助,特别是在处理数字或者字符串的时候。

注意:在"["和"]"符号的周围必须要有空格。

 

 

3.test命令之数字test

语法:

[ number relation number ]通过关系运算符来对数字进行比较

关系运算符:

-lt 小于

-le 小于或者等于

-gt 大于

-ge 大于或者等于

-eq 等于

-ne 不等于

例子(假设X=3):

$ [ "$X" -lt 7]$ [ "$X" -gt 7]
论坛热门帖子: [lch203] 写得蛮好的linux学习笔记(10-21)
[黑马制造] 学习java的30个目标(10-19)
[笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19)
[udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18)
[沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18)
TAG标签: 命令 返回 一个 quot test shell echo 文件 如果 字符串

最新评论 共有0位网友发表了评论

发表评论

评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名:(注册)
密码:
验证码:
匿名发表

网站地图友情连接交流论坛网站投稿广告服务联系我们留言本站长统计
Some rights reserved: www.chmhome.com, 鄂ICP备07010232号 E-mail:chinakafei@live.com,QQ:552766
中国咖啡技术网(Chmhome):国外编程技术书籍,中文编程手册,经典编程文章,交流技术,技术软件下载,计算机论文,毕业论文.