bash中多命令的執行關系
阿新 • • 發佈:2017-11-17
bash多命令執行關系 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
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 ~]# useradd ex2;useradd ex3
4.選擇執行結構;
如果。。。那麽。。。
要麽。。。要麽。。。
邏輯運算結構:
與:邏輯乘法,1--真,0--假 && 雙目操作符
1 && 0 = 0
0 && 1 = 0
0 && 0 = 0
1 && 1 = 1
"與"運算的短路元算法則:只要第一個操作數為false,則其邏輯運算結果一定為false;
或:邏輯加法,1--真,0--假 || 雙目操作符
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
bash中多命令的執行關系