bash的多命令执行的逻辑关系; 1.命令替换 COMMAND1 $(COMMAND2)
[root@localhost~]#cp-a/etc/tmp/etc-$(date+'%F-%T')
[root@localhost~]#ls/tmp
etc-2017-11-17-17:13:35
2.管道 COMMAND1 | COMMAND2 |COMMAND3..
[root@localhost~]#ll/tmp|wc-l
13
3.顺序执行结构 COMMAND1 ; COMMAND2 ; COMMAND3
[root@localhost~]#useraddex2;useraddex3
4.选择执行结构; 如果。。。那么。。。 要么。。。要么。。。
逻辑运算结构: 与:逻辑乘法,1--真,0--假 && 双目操作符 1 && 0 = 0 0 && 1 = 0 0 && 0 = 0 1 && 1 = 1 "与"运算的短路元算法则:只要第一个操作数为false,则其逻辑运算结果一定为false;
或:逻辑加法,1--真,0--假 || 双目操作符 1 || 1 = 1 1 || 0 = 1 0 || 1 = 1 0 || 0 = 0 "或"运算的短路运算法则:只要第一个操作数为true,则其逻辑运算结果一定为true;
非:逻辑取反,1--真,0--假,!,弹幕操作符 !0 = 1 !1 = 0
命令的执行状态返回值:就是echo $? SUCCESS: 0--TRUE(true) FAILURE: 1-255--FALSE(false)
COMMAND1 && COMMAND2 表示: 1.如果COMMAND1能够成功执行,那么将会执行COMMAND2; 2.如果COMMAND1执行失败,那么COMMAND2将不会执行;
COMMAND1 || COMMAND2 表示: 1.只有COMMAND1执行失败,COMMAND2才会被执行; 2.如果COMMAND1执行成功,那么COMMAND2将不会被执行;
!COMMAND1 && COMMAND2 相当于 COMMAND1 || COMMAND2 !COMMAND1 || COMMAND2 相当于 COMMAND1 && COMMAND2
德?摩根定律: !(COMMAND1 && COMMAND2) || COMMAND3 1和2都执行成功,才会执行3 !(COMMAND1 || COMMAND2) && COMMAND3 1和2都执行失败,才会执行3
!(A && B) = !A || !B !(A || B) = !A && !B
三种逻辑运算的优先级: ! > && > ||
示例: 如果用户user4存在并且其家目录也存在,那么就执行userdel -r user4;
id user4 && ls -d /home/user4 && userdel -r user4 (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|