linux-shell-||,&&{},(),reg-命令執行順序

來源:互聯網
上載者:User

linux-shell-||,&&{},(),reg-命令執行順序

 

&&
    格式:命令1 && 命令2
    作用:& &左邊的命令(命令1)返回真(即返回0,成功被執行)後,& &右邊的命令(命令2)才能夠被執行。
    例:
    $ mv /apps/bin /apps/dev/bin && rm -r /apps/bin
    說明:/apps/bin目錄將會被移到/apps/dev/bin目錄下,如果它沒有被成功執行,就不會刪除/apps/bin目錄。

||
    格式:命令1 || 命令2
    作用:如果| |左邊的命令(命令1)未執行成功,那麼就執行| |右邊的命令(命令2)
    例:如果該指令碼未執行成功,該s h e l l將結束。
    $ comet month_end.txt || exit

用()和{ }將命令結合在一起
    多個命令一起執行方法:
    1)當前shell中執行一組命令,可以用命令分隔字元隔開每一個命令,並把所有的命令用圓括弧()括起來。
    格式:
    (命令1;命令2;. . .)

    2)子Shell執行,把()換為{}
    格式:{命令1;命令2;. . . }

    注意:只有在{ }中所有命令的輸出作為一個整體被重新導向時,其中的命令才被放到子shell中執行,否則在當前s h e l l執行

綜合
    這些命令都是綜合來用的。
    例:
    $comet month_end || (echo "Hello ,Comet did not work " | mail myself; exit)
    如果該指令碼執行失敗了,先給自己發個郵件,然後再退出.

(),{}

(cmd1;cmd2;...;cmdN)# 在一個子shell裡執行一組命令
{cmd1;cmd2;...;cmdN}# 在當前shell裡執行一組命令

正則

        ^ 只只匹配行首
        $ 只只匹配行尾
        * 只一個單字元後緊跟*,匹配0個或多個此單字元
        [ ] 只匹配[ ]內字元。可以是一個單字元,也可以是字元序列。可以使用-表示[ ]內字元序列範圍,如用[ 1 - 5 ]代替[ 1 2 3 4 5 ]
        \ 只用來屏蔽一個元字元的特殊含義。因為有時在s h e l l中一些元字元有特殊含義。\可以使其失去應有意義
        . 只匹配任意單字元
        pattern \ { n \ } 只用來匹配前面pattern出現次數。n為次數
        pattern \ { n,\ } m 只含義同上,但次數最少為n
        pattern \ { n,m \ } 只含義同上,但pattern出現次數在n與m之間

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.