• <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)行

            性高朝久久久久久久久久| 区亚洲欧美一级久久精品亚洲精品成人网久久久久 | 精品国产乱码久久久久软件| 精品999久久久久久中文字幕 | 久久综合狠狠综合久久激情 | 久久精品中文騷妇女内射| 久久精品中文无码资源站| 99精品国产在热久久无毒不卡 | 久久亚洲AV成人无码电影| 亚洲精品乱码久久久久66| 亚洲AV乱码久久精品蜜桃| 久久精品人人做人人妻人人玩| 无码人妻久久一区二区三区免费| 日韩精品久久久肉伦网站| 精品国产乱码久久久久久1区2区 | 狠狠狠色丁香婷婷综合久久俺| 久久精品视频网| 久久久免费观成人影院 | 伊人久久大香线蕉精品不卡 | 午夜不卡888久久| 日韩十八禁一区二区久久| 亚洲欧美日韩久久精品第一区| 国产精品久久久久jk制服| 91性高湖久久久久| 久久伊人五月丁香狠狠色| 久久99精品久久久久久久不卡| 蜜桃麻豆www久久| 久久久免费精品re6| 久久精品人人做人人妻人人玩| 久久国产精品无码网站| 国内精品综合久久久40p| 国产精品日韩深夜福利久久| 亚洲精品成人久久久| 久久99精品国产麻豆| 欧美日韩中文字幕久久久不卡| 久久精品国产亚洲AV无码麻豆| 久久久久久久久久免免费精品| 少妇内射兰兰久久| 伊人 久久 精品| 精品综合久久久久久88小说| 久久久久波多野结衣高潮|