国产宅男网站在线|亚洲A级性爱免费视频|亚洲中精品级在线|午夜福利AA毛

  • <dd id="gf5jf"><th id="gf5jf"></th></dd>

    <cite id="gf5jf"><label id="gf5jf"></label></cite>
  • <div id="gf5jf"><listing id="gf5jf"></listing></div>
    學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 操作系統(tǒng) > Linux教程 >

    linux命令分號(hào)&&和&,_和__的用法介紹

    時(shí)間: 加城1195 分享

      Linux繼承了Unix以網(wǎng)絡(luò)為核心的設(shè)計(jì)思想,是一個(gè)性能穩(wěn)定的多用戶(hù)網(wǎng)絡(luò)操作系統(tǒng)。在用linux命令時(shí)候,我們可以一行執(zhí)行多條命令或者有條件的執(zhí)行下一條命令,下面我們講解一下linux命令分號(hào)&&和&,|和||的用法。

      linux命令分號(hào)&&和&,|和||的用法

      “;”分號(hào)用法

      方式:command1 ; command2

      用;號(hào)隔開(kāi)每個(gè)命令, 每個(gè)命令按照從左到右的順序,順序執(zhí)行, 彼此之間不關(guān)心是否失敗, 所有命令都會(huì)執(zhí)行。

      “| ”管道符用法

      上一條命令的輸出,作為下一條命令參數(shù)

      方式:command1 | command2

      Linux所提供的管道符“|”將兩個(gè)命令隔開(kāi),管道符左邊命令的輸出就會(huì)作為管道符右邊命令的輸入。連續(xù)使用管道意味著第一個(gè)命令的輸出會(huì)作為 第二個(gè)命令的輸入,第二個(gè)命令的輸出又會(huì)作為第三個(gè)命令的輸入,依此類(lèi)推

      利用一個(gè)管道

      # rpm -qa|grep licq

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

      利用多個(gè)管道

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

      這條命令使用了兩個(gè)管道,利用第一個(gè)管道將cat命令(顯示passwd文件的內(nèi)容)的輸出送給grep命令,grep命令找出含有“/bin /bash”的所有行;第二個(gè)管道將grep的輸出送給wc命令,wc命令統(tǒng)計(jì)出輸入中的行數(shù)。這個(gè)命令的功能在于找出系統(tǒng)中有多少個(gè)用戶(hù)使用bash

      “&”符號(hào)用法

      &放在啟動(dòng)參數(shù)后面表示設(shè)置此進(jìn)程為后臺(tái)進(jìn)程

      方式:command1 &

      默認(rèn)情況下,進(jìn)程是前臺(tái)進(jìn)程,這時(shí)就把Shell給占據(jù)了,我們無(wú)法進(jìn)行其他操作,對(duì)于那些沒(méi)有交互的進(jìn)程,很多時(shí)候,我們希望將其在后臺(tái)啟動(dòng),可以在啟動(dòng)參數(shù)的時(shí)候加一個(gè)'&'實(shí)現(xiàn)這個(gè)目的。

      “&&”符號(hào)用法

      shell 在執(zhí)行某個(gè)命令的時(shí)候,會(huì)返回一個(gè)返回值,該返回值保存在 shell 變量 $? 中。當(dāng) $? == 0 時(shí),表示執(zhí)行成功;當(dāng) $? == 1 時(shí)(我認(rèn)為是非0的數(shù),返回值在0-255間),表示執(zhí)行失敗。

      有時(shí)候,下一條命令依賴(lài)前一條命令是否執(zhí)行成功。如:在成功地執(zhí)行一條命令之后再執(zhí)行另一條命令,或者在一條命令執(zhí)行失敗后再執(zhí)行另一條命令等。shell 提供了 && 和 || 來(lái)實(shí)現(xiàn)命令執(zhí)行控制的功能,shell 將根據(jù) && 或 || 前面命令的返回值來(lái)控制其后面命令的執(zhí)行。

      語(yǔ)法格式如下:

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

      命令之間使用 && 連接,實(shí)現(xiàn)邏輯與的功能。

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

      只要有一個(gè)命令返回假(命令返回值 $? == 1),后面的命令就不會(huì)被執(zhí)行。

      “||”符號(hào)用法

      邏輯或的功能

      語(yǔ)法格式如下:

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

      命令之間使用 || 連接,實(shí)現(xiàn)邏輯或的功能。

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

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

      舉例,ping命令判斷存活主機(jī)

      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

      注意 &>要連起來(lái)寫(xiě)。

      補(bǔ)充:Linux基本命令

      基本命令

     ?、賚s 意為list 列出當(dāng)前文件夾中的文件

      -l 顯示文件的屬性 可用ll來(lái)表示

     ?、赼lias 別名 看看是否有別名的文件

      ③cd dir 跳躍目錄 -P選項(xiàng) 將路徑中的鏈接文件替換成鏈接指向的文件路徑

     ?、躳wd 查看當(dāng)前工作的文件夾名 使用-P的選項(xiàng),會(huì)直接進(jìn)入到其中,相當(dāng)于cd

      相關(guān)閱讀:Linuxshell腳本不執(zhí)行問(wèn)題實(shí)例分析

      shell腳本不執(zhí)行問(wèn)題:某天研發(fā)某同事找我說(shuō)幫他看看他寫(xiě)的shell腳本,死活不執(zhí)行,報(bào)錯(cuò)。我看了下,腳本很簡(jiǎn)單,也沒(méi)有常規(guī)性的錯(cuò)誤,報(bào)“:badinterpreter:Nosuchfileordirectory”錯(cuò)。看這錯(cuò),我就問(wèn)他是不是在windows下編寫(xiě)的腳本,然后在上傳到linux服務(wù)器的……果然。原因:在DOS/windows里,文本文件的換行符為rn,而在*nix系統(tǒng)里則為n,所以DOS/Windows里編輯過(guò)的文本文件到了*nix里,每一行都多了個(gè)^M。解決:

      1)重新在linux下編寫(xiě)腳本;

      2)vi:%s/r//g:%s/^M//g(^M輸入用Ctrl+v,Ctrl+m)附:sh-x腳本文件名,可以單步執(zhí)行并回顯結(jié)果,有助于排查復(fù)雜腳本問(wèn)題。


    Linux命令相關(guān)文章:

    1.linux查看歷史命令

    2.linux查看執(zhí)行過(guò)的所有命令

    3.linux瀏覽器命令

    4.linux更改主機(jī)名命令

    5.Mac終端Linux命令大全詳細(xì)說(shuō)明

    4016608