Linux中的命令判断

  命令判断会用到三个特殊符号分号(;),&&,||

(1).分号(;)

  不考虑命令的相关性,连续执行,不保证命令全部执行成功。

  例:

[root@xuexi ~]# ls xxxx ; echo aaaa
ls: 无法访问xxxx: 没有那个文件或目录
aaaa

(2).&&

  逻辑与,只有在前面的命令执行成功时,才会执行后面的命令

  例:

[root@xuexi ~]# ls /opt
rh
[root@xuexi ~]# cd /opt/ && touch a && ls
a  rh
[root@xuexi opt]# 

  逻辑与经常用于源码编译:./configure && make -j 4 && make install

(3).||

  逻辑或,如果前面的命令执行成功,那么后面的命令就不执行;如果前面的命令执行不成功,才会执行后面的命令。

  例:

[root@xuexi opt]# ls a || cd /mnt
a
[root@xuexi opt]# ls xxx || cd /mnt
ls: 无法访问xxx: 没有那个文件或目录
[root@xuexi mnt]# 

(4).综合使用

  Linux执行命令是从左往右执行,从上往下执行。

[root@xuexi ~]# cd /root/newDir || mkdir /root/newDir && touch /root/newDir/back.tar && ls /root/newDir
bash: cd: /root/newDir: 没有那个文件或目录
back.tar

  

原文地址:https://www.cnblogs.com/diantong/p/10476112.html