• <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 閱讀(498) 評(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)行

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

            亚洲精品国产成人99久久| 亚洲伊人久久综合中文成人网| 亚洲国产一成久久精品国产成人综合 | 久久久久久久久久久| 久久这里只有精品视频99| 亚洲精品乱码久久久久66| 精品国产VA久久久久久久冰 | 漂亮人妻被中出中文字幕久久 | 久久久久久午夜精品| 久久精品国产亚洲精品2020 | 久久久久亚洲av无码专区导航 | 亚洲欧美日韩中文久久| 日韩精品久久久肉伦网站| 激情五月综合综合久久69| 性做久久久久久久| 99久久无码一区人妻a黑| 青青青青久久精品国产h| 囯产精品久久久久久久久蜜桃| 国产欧美一区二区久久| 久久久一本精品99久久精品88| 偷窥少妇久久久久久久久| 亚洲国产欧洲综合997久久| 丁香狠狠色婷婷久久综合| 久久久久青草线蕉综合超碰| 久久综合九色综合网站| 品成人欧美大片久久国产欧美...| 无码AV波多野结衣久久| 欧美亚洲另类久久综合| 香蕉久久夜色精品国产2020| 久久Av无码精品人妻系列| 国产精品成人99久久久久91gav| 青青久久精品国产免费看| 久久久久免费视频| 久久久黄片| 国产精品对白刺激久久久| 色播久久人人爽人人爽人人片aV| 色综合久久中文字幕无码| 天天综合久久一二三区| 久久免费美女视频| 亚洲精品国精品久久99热一| 人妻无码久久精品|