Linux中&&和&,|和||用法及區別詳解!

老男孩IT教育機構發表於2022-11-30

  在使用Linux命令時,我們往往可以一行執行多條命令,或者有條件的執行下一條命令,對於剛接觸Linux命令時,特殊符號絕對是最困擾的事情之,本篇文章將為大家詳細介紹下&&和&,|和||的用法,以下是詳細的內容:

  “;”分號用法

  方式:command1 ; command2

  用;號隔開每個命令, 每個命令按照從左到右的順序,順序執行, 彼此之間不關心是否失敗, 所有命令都會執行。

  “|”管道符用法

  上一條命令的輸出,作為下一條命令引數

  方式:command1 | command2

  Linux所提供的管道符“|”將兩個命令隔開,管道符左邊命令的輸出就會作為管道符右邊命令的輸入。連續使用管道意味著第一個命令的輸出會作為 第二個命令的輸入,第二個命令的輸出又會作為第三個命令的輸入,依此類推

  利用一個管道

  # rpm -qa|grep licq

  這條命令使用一個管道符“|”建立了一個管道。管道將rpm -qa命令的輸出(包括系統中所有安裝的RPM包)作為grep命令的輸入,從而列出帶有licq字元的RPM包來。

  利用多個管道

  # cat /etc/passwd | grep /bin/bash | wc -l

  這條命令使用了兩個管道,利用第一個管道將cat命令(顯示passwd檔案的內容)的輸出送給grep命令,grep命令找出含有“/bin /bash”的所有行;第二個管道將grep的輸出送給wc命令,wc命令統計出輸入中的行數。這個命令的功能在於找出系統中有多少個使用者使用bash

  “&”符號用法

  &放在啟動引數後面表示設定此程式為後臺程式

  方式:command1 &

  預設情況下,程式是前臺程式,這時就把Shell給佔據了,我們無法進行其他操作,對於那些沒有互動的程式,很多時候,我們希望將其在後臺啟動,可以在啟動引數的時候加一個'&'實現這個目的。

  “&&”符號用法

  shell 在執行某個命令的時候,會返回一個返回值,該返回值儲存在 shell 變數 $? 中。當 $? == 0 時,表示執行成功;當 $? == 1 時(我認為是非0的數,返回值在0-255間),表示執行失敗。

  命令之間使用 && 連線,實現邏輯與的功能。

  語法格式:command1 && command2 [&& command3 ...]

  只有在 && 左邊的命令返回真(命令返回值 $? == 0),&& 右邊的命令才會被執行。

  只要有一個命令返回假(命令返回值 $? == 1),後面的命令就不會被執行。

  “||”符號用法

  語法格式:command1 || command2 [|| command3 ...]

  命令之間使用 || 連線,實現邏輯或的功能。

  只有在 || 左邊的命令返回假(命令返回值 $? == 1),|| 右邊的命令才會被執行。這和 c 語言中的邏輯或語法功能相同,即實現短路邏輯或操作。

  只要有一個命令返回真(命令返回值 $? == 0),後面的命令就不會被執行。 –直到返回真的地方停止執行。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69952527/viewspace-2925916/,如需轉載,請註明出處,否則將追究法律責任。

相關文章