1. 程式人生 > >bash多命令執行

bash多命令執行

多命令

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 || 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多命令執行