命令判断 ; && ||
;分号 不考虑指令的相关性,连续执行, 分号; 不保证命令全部执行成功的
例:[root@xuegod63 mnt]# sync ; shutdown -F
1、&& 逻辑与 它是只有在前面的命令执行成功后,后面的命令才会去执行
例1:如果/opt目录存在,则在/opt下面新建一个文件a.txt
[root@xuegod63 ~]# cd /opt/ && touch /opt/a.txt && ls
例2:源码编译经典使用方法
[root@xuegod63 ~]# ./configure && make -j 4 && make install #我现在没有源码包,所以此命令不能执行成功。大家了解一下这个经典用法。
2、 || 逻辑或 如果前面的命令执行成功,后面的命令就不去执行了;或者如果前面的执行不成功,才会去执行后面的命令
例1:
[root@xuegod63 etc]# ls xxx || cd /mnt
ls: 无法访问xxx: 没有那个文件或目录
[root@xuegod63 mnt]# pwd
/mnt
[root@xuegod63 mnt]# ls /etc/passwd || cd /etc
/etc/passwd
总结:
命令情况 |
说 明 |
命令1 && 命令2 |
如果命令1执行,且执行正确($? = 0),然后执行命令2 如果命令1执行完成,但是执行错误($? ≠0),那么后面的命令是不会执行的 |
命令1 || 命令2 |
如果命令1执行,且执行正确($? = 0),那么命令2不执行 如果命令1执行,但执行错误($? ≠ 0),那么命令2执行 |
运算顺序:LINUX执行命令,是从左到右一个一个执行,从上到下执行
例:[root@xuegod63 ~]# cd /opt/back || mkdir /opt/back && touch /opt/back/back.tar && ls /opt/back