• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Prayer

            在一般中尋求卓越
            posts - 1256, comments - 190, trackbacks - 0, articles - 0
              C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

            shell命令執(zhí)行順序

            Posted on 2009-03-26 11:26 Prayer 閱讀(501) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): Shell

            1.&&

             

            在一個(gè)普通的shell中,命令執(zhí)行是沒(méi)有相互依賴(lài)的,比如

            cat my1.txt

            cat my2.txt

            大家可以試試,無(wú)論上面一個(gè)命令是否正確運(yùn)行,下面的指令都會(huì)運(yùn)行。但有時(shí)候我們需要前一個(gè)指令沒(méi)有成功執(zhí)行時(shí)候,后一個(gè)指令就不要運(yùn)行,這里就牽扯到&&。

            [root@liumengli my_shell]# ls
            1.sh  2.sh  case_shell.sh  crontab.txt  first.sh  for_shell.sh  hello  hello zhangchi  my.txt  shell_example.sh  test  until_shell.sh  while_shell.sh
            [root@liumengli my_shell]# cat 1.sh && cat 2.sh
            #!/bin/sh

            echo "hello yuna"

            exit 1
            #!/bin/sh

            echo "hello difa"
            exit 0
            [root@liumengli my_shell]# cat 3.sh && cat
            cat        catchsegv 
            [root@liumengli my_shell]# cat 3.sh && cat 2.sh
            cat: 3.sh: 沒(méi)有這個(gè)目錄
            從結(jié)果中可以看到cat 3.sh沒(méi)有成功運(yùn)行,那么cat 2.sh就不會(huì)成功運(yùn)行。自己寫(xiě)的shell腳本也可以用&&鏈接起來(lái)

             

            這里又牽扯到一個(gè)問(wèn)題,到底怎樣才算成功運(yùn)行了呢。像上面那樣 cat 3.sh這個(gè)是明顯失敗了。但如果我有2個(gè)腳本,如何才算前一個(gè)腳本成功運(yùn)行了呢?關(guān)鍵在于 exit,如果exit 0被執(zhí)行了就表示前一個(gè)成功運(yùn)行, exit 1就沒(méi)有成功運(yùn)行,例如

            [root@liumengli my_shell]# cat 1.sh
            #!/bin/sh

            echo "hello yuna"

            exit 1
            [root@liumengli my_shell]# cat 2.sh
            #!/bin/sh

            echo "hello difa"
            exit 0
            [root@liumengli my_shell]# ./1.sh && ./2.sh
            hello yuna
            [root@liumengli my_shell]# ./2.sh && ./1.sh
            hello difa
            hello yuna
            [root@liumengli my_shell]#
            第一個(gè)只執(zhí)行了1.sh,因?yàn)樗祷?,雖然從實(shí)際意義上看來(lái),我們 1.sh成功運(yùn)行了,但2.sh還是不會(huì)被運(yùn)行。

             

            2.||

             

            和&&正好相反,當(dāng)?shù)谝粋€(gè)指令運(yùn)行失敗時(shí)候,才運(yùn)行第2個(gè)指令(當(dāng)然也可以是腳本,和&&類(lèi)似)。

             

            3.()和{}

             

            樣例

            [root@liumengli my_shell]# (./1.sh ; ./2.sh )
            hello yuna
            hello difa
            [root@liumengli my_shell]#

            這個(gè)表示這2個(gè)指令(其實(shí)是腳本)在一起運(yùn)行,且都是在當(dāng)前 shell中運(yùn)行

            如果是{}的話(語(yǔ)法一樣,中間有;號(hào),注意第一個(gè)要有空格,則指令不再當(dāng)前 shell,而在這個(gè)shell的子shell下面運(yùn)行

            88久久精品无码一区二区毛片| 久久精品男人影院| 久久精品国产精品青草| 色欲av伊人久久大香线蕉影院| 久久er国产精品免费观看2| 99久久人妻无码精品系列蜜桃| 久久精品成人免费网站| 99久久精品九九亚洲精品| 久久精品国产亚洲精品| 精品伊人久久大线蕉色首页| 日日躁夜夜躁狠狠久久AV| 国产成人精品白浆久久69| 国产精品久久久久一区二区三区 | 青青草原综合久久大伊人| 亚洲精品无码久久久久久| 国产一区二区精品久久| 亚洲精品乱码久久久久久蜜桃 | 久久久久国产精品熟女影院| 久久久久无码专区亚洲av| 久久综合亚洲色HEZYO社区| 久久96国产精品久久久| 蜜桃麻豆WWW久久囤产精品| 久久96国产精品久久久| 亚洲色欲久久久综合网东京热| 一本久久综合亚洲鲁鲁五月天| 国产偷久久久精品专区| 久久久久久久久久久免费精品| 久久精品国产亚洲av高清漫画| 伊人久久成人成综合网222| 秋霞久久国产精品电影院| 亚洲乱亚洲乱淫久久| 久久国产精品无码HDAV| 国产亚洲精品久久久久秋霞| 久久国产精品二国产精品| 大美女久久久久久j久久| 久久久久无码精品国产| 亚洲成色www久久网站夜月| 亚洲国产天堂久久久久久| 久久久99精品一区二区| 久久久久国产精品熟女影院| 老色鬼久久亚洲AV综合|