linux中的分號 和 , 和 說明與用法

2021-10-06 06:48:05 字數 1907 閱讀 5987

在用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間),表示執行失敗。

有時候,下一條命令依賴前一條命令是否執行成功。如:在成功地執行一條命令之後再執行另一條命令,或者在一條命令執行失敗後再執行另一條命令等。shell 提供了 && 和 || 來實現命令執行控制的功能,shell 將根據 && 或 || 前面命令的返回值來控制其後面命令的執行。

語法格式如下:

command1 && command2 [&& command3 ...]

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

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

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

「||」符號用法

邏輯或的功能

語法格式如下:

command1 || command2 [|| command3 ...]

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

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

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

舉例,ping命令判斷存活主機

ping -c 1 -w 1 192.168.1.1 &> /dev/null && result=0 ||result=1  #&放在啟動引數後面表示設定此程序為後台程序

if [ "$result" == 0 ];then

echo "192.168.1.1 is up!"    

else

echo "192.168.2.1 is down!"

fi

linux中的分號 和 , 和 說明與用法

在linux中,和 和 介紹如下 分號用法 方式 command1 command2 用 號隔開每個命令,每個命令按照從左到右的順序,順序執行,彼此之間不關心是否失敗,所有命令都會執行。表示任務在後台執行,如要在後台執行redis server,則有 redis server 管道符用法 方式 co...

linux中的分號

幾個符號的用法 順序地獨立執行各條命令,彼此之間不關心是否失敗,所有命令都會執行。順序執行各條命令,只有當前乙個執行成功時候,才執行後面的。放在啟動引數後面表示設定此程序為後台程序 順序執行各條命令,只有當前面乙個執行失敗的時候,才執行後面的。分號用法 用 號隔開每個命令,每個命令按照從左到右的順序...

linux中的分號

幾個符號的用法 順序地獨立執行各條命令,彼此之間不關心是否失敗,所有命令都會執行。順序執行各條命令,只有當前乙個執行成功時候,才執行後面的。放在啟動引數後面表示設定此程序為後台程序 順序執行各條命令,只有當前面乙個執行失敗的時候,才執行後面的。分號用法 用 號隔開每個命令,每個命令按照從左到右的順序...