分类: 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
|
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