• <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 閱讀(505) 評(píng)論(0)  編輯 收藏 引用 所屬分類: Shell

            1.&&

             

            在一個(gè)普通的shell中,命令執(zhí)行是沒(mé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)行。自己寫的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)然也可以是腳本,和&&類似)。

             

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

            久久久久97国产精华液好用吗| 精品国产青草久久久久福利 | 人人狠狠综合久久88成人| 精品国产乱码久久久久久呢 | 久久综合五月丁香久久激情| 久久亚洲精品国产精品婷婷| 久久ww精品w免费人成| 精品久久久久久无码国产| 久久久噜噜噜久久熟女AA片| 久久99精品国产麻豆婷婷| 亚洲色欲久久久综合网东京热 | 国产精品丝袜久久久久久不卡| 中文字幕久久亚洲一区| 国产精品美女久久久网AV| 国产色综合久久无码有码| 久久亚洲精品无码播放| 色偷偷888欧美精品久久久| 亚洲中文字幕无码久久2020| 人妻丰满?V无码久久不卡| 99久久精品国产一区二区三区| 狼狼综合久久久久综合网| 久久无码AV一区二区三区| 久久久久亚洲AV综合波多野结衣| 国产精品久久久久久福利69堂| 2021国产精品久久精品| 久久久久这里只有精品 | 亚洲va久久久久| 美女久久久久久| 蜜臀久久99精品久久久久久| 精品久久人人爽天天玩人人妻| 久久被窝电影亚洲爽爽爽| 国内精品九九久久久精品| 国产成人久久AV免费| 久久精品aⅴ无码中文字字幕重口 久久精品a亚洲国产v高清不卡 | MM131亚洲国产美女久久| 久久久久久国产精品免费无码| 久久免费的精品国产V∧| 国产精品99久久久久久人| 久久综合综合久久97色| 国产精品伊人久久伊人电影| 久久男人AV资源网站|