Posted on 2009-11-29 11:48
Gavin.lee 阅读(295)
评论(0) 编辑 收藏 所属分类:
Linux 日常应用
在执行某个命令的时候,有时需要依赖于前一个命令是否执行成功。例如,假设你希望将一个目录中的文件全部拷贝到另外一个目录中后,然后删除源目录中的全部文件。在删除之前,你希望能够确信拷贝成功,否则就有可能丢失所有的文件。
如果希望在成功地执行一个命令之后再执行另一个命令,或者在一个命令失败后再执行另一个命令,&&和||可以完成这样的功能。相应的命令可以是系统命令或shell脚本。shell还提供了在当前shell或子shell中执行一组命令的方法,即使用()和{ }。
1.使用&&
使用& &的一般形式为:
命令1 && 命令2
这种命令执行方式相当地直接。&&左边的命令(命令1)返回真(即返回0,成功被执行)后,&&右边的命令(命令2)才能够被执行;换句话说, “如果这个命令执行成功 & &那么执
行这个命令”。
这里有一个使用& &的简单例子:
$ cp file1 file2 && echo "Success!"
Success!
2.使用||
使用||的一般形式为:
命令1 || 命令2| |的作用有一些不同。如果 ||左边的命令(命令1)未执行成功,那么就执行 ||右边的命令(命令2);或者换句话说,“如果这个命令执行失败了||那么就执行这个命令”。
这里有一个使用||的简单例子:
$ cp file1 file2 || echo "Failed!"
cp: file1 : No such file or directory
Failed!