Chinaunix首页 | 论坛 | 博客
  • 博客访问: 280669
  • 博文数量: 101
  • 博客积分: 4245
  • 博客等级: 上校
  • 技术积分: 1085
  • 用 户 组: 普通用户
  • 注册时间: 2009-04-24 00:28
文章分类

全部博文(101)

文章存档

2012年(1)

2011年(16)

2010年(34)

2009年(50)

我的朋友

分类: LINUX

2009-05-06 23:11:13

您可能已经知道,在大多数 Shell 中,您可以在单个命令行上通过在命令之间放置一个分号 (;) 来组合命令。该分号是 Shell 控制操作符,虽然它对于在单个命令行上将离散的命令串联起来很有用,但它并不适用于所有情况。例如,假设您使用分号来组合两个命令,其中第二个命令的正确执行完全依赖于第一个命令的成功完成。如果第一个命令未按您预期的那样退出,第二个命令仍然会运行——结果会导致失败。相反,应该使用更适当的控制操作符(本文将描述其中的部分操作符)。只要您的 Shell 支持它们,就值得养成使用它们的习惯。

使用 && 控制操作符来组合两个命令,以便仅当 第一个命令返回零退出状态时才运行第二个命令。换句话说,如果第一个命令运行成功,则第二个命令将运行。如果第一个命令失败,则第二个命令根本就不运行。例如:



                
~ $ cd tmp/a/b/c && tar xvf ~/archive.tar
            

在此例中,存档的内容将提取到 ~/tmp/a/b/c 目录中,除非该目录不存在。如果该目录不存在,则 tar 命令不会运行,因此不会提取任何内容。

类似地,|| 控制操作符分隔两个命令,并且仅当第一个命令返回非零退出状态时才运行第二个命令。换句话说,如果第一个命令成功,则第二个命令不会运行。如果第一个命令失败,则第二个命令才会 运行。在测试某个给定目录是否存在时,通常使用此操作符,如果该目录不存在,则创建它:



                
~ $ cd tmp/a/b/c || mkdir -p tmp/a/b/c
            

您还可以组合使用本部分中描述的控制操作符。每个操作符都影响最后的命令运行:



                
~ $ cd tmp/a/b/c || mkdir -p tmp/a/b/c && tar xvf -C tmp/a/b/c ~/archive.tar
            

阅读(1707) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2009-05-18 12:53:18

蝶阀 http://www.shsspv.cn/f.asp?ie=31 截止阀 http://www.shsspv.cn/f.asp?ie=32 水泵 http://www.shsspv.cn 阀门 http://www.zrpv.net 消防泵 http://www.shsspv.cn/f.asp?ie=34 旋涡泵 http://www.shsspv.cn/f.asp?ie=35 水泵厂家 http://www.shsspv.cn/f.asp?ie=15 离心泵 http://www.shsspv.cn/f.asp?ie=16 排污泵 http://www.shsspv.cn/f.asp?ie=17 多级泵 http://www.shsspv.cn/f.asp?ie=18 化工泵 http://www.shsspv.cn/f.asp?ie=19 油泵 http://www.shsspv.cn/f.asp?ie=21 齿轮油泵 http://www.shsspv.cn/f.asp?ie=33 磁力泵 http://www.shsspv.cn/f.asp?ie