在执行某个命令的时候,有时候要依赖于其哪一个命令是否执行成功。如果希望在成功的执行一个命令之后在执行另一个命令
或者在一个命令失败后在执行另一个命令,&& 和 || 可以完成这样的功能。相应的命令可以是系统命令或shell脚本
shell还提供了在当前shell或子shell中执行一组命令的方法 () 和 {}
1. &&
格式:
命令1 && 命令2
左面的命令1返回真(返回0,成功被执行)后 &&右边的命令2才能够被执行
例子:
下面命令中 &&前面是拷贝命令 执行成功之后才显示ok
#cp youfile.txt hello.txt && echo "ok"
ok
下面命令是复制一个文件到另一个目录下 如果复制成功删除原来目录下的文件
# mv /testfile /var/ftp/pub && rm -r /testfile
2. ||
命令格式:
命令1 || 命令2
如果||左边的命令未被执行 那么执行||右边的命令
例子:
下面命令中 ||前面是拷贝命令 执行失败之后才显示no(拷贝命令执行失败 ||后面的命令才被执行)
#cp youfile.txt hello.txt || echo "no"
3 .() 和{}
如果希望把几个命令结合在一起执行,shell提供了两种方法,既可以在当前shell也可以在子shell中执行一组命令
为了在当前shell中执行一组命令,可以用命令分隔符分隔每一个命令,并把所有的命令用()括起来
格式:
(命令1;命令2;...)