Windows system >> Windowsの知識 >  >> Linuxシステムチュートリアル >> Linuxチュートリアル >> Linuxシェルフロー制御(条件if、ループ[for、while]、select [case]ステートメントインスタンス

Linuxシェルフロー制御(条件if、ループ[for、while]、select [case]ステートメントインスタンス

  
 

Linuxシェルには、条件付きステートメント(if)、ループステートメント(for、while)、および選択ステートメント(case)を含む、独自のフロー制御ステートメントのセットがあります。以下に、例を挙げて各文の使用方法を紹介します。


まず、シェルの条件文(使用する場合)

if文の構造[if /then /elif /else /fi]


条件付きテスト文の場合

次に

アクション

[elif条件]

アクション

その他

アクション

]

fi


条件付きテスト文が明確でない場合は、次のURLを参照してください。linuxシェル論理演算子、論理式

シェルコマンドはセミコロンまたは改行で分割できます。 1行に複数のコマンドを書きたい場合は、' ';'でそれらを分割することができます。

のように:

[chengmo @ centos5〜] $ a = 5; [[a -gt 4]]の場合; 'echo' ok; fi; ok


インスタンス:(test.sh)

#!/bin /sh

score = 40; [[$ score -gt 90]]の場合、次にecho"とても良いです!" elif [[$ score -gt 80]];そしてエコー" good!"; elif [[$ score -gt 60]];そしてエコー" pass!"; else echo"パスなし!"; fi;



条件付きテストは次のとおりです。[[]、[]、testこれら、注:[[]]変数はスペースで区切ります。


次に、ループステートメント(for、while、useまで):

  • forループメソッド(for /do /done)

    構文の構造:

    1.forステートメントの

    seq文字列の変数

    do

    action

    done

    説明:seq文字列は空白文字で区切られ、… inが読み込まれるたびに値が順番に読み込まれ、前の変数が返されます。

    インスタンス(testfor.sh):

    #!/bin /sh

    for $(seq 10); do echo $ i; done;


    seq 10は1 2 3を生成します。 。 。 。 10個のスペース区切りの文字列。

    2.for((代入;条件;命令文))

    for((代入;条件;命令文))

    do

    action

    完了;

    インスタンス(testfor2.sh):

    #!/bin /sh

    for((i = 1; i< = 10;(i ++)); do echo $ i; done;





    whileループ中(while /do /done)< Br>

    whileステートメントの構造

    条件付きステートメントの間

    do

    アクション

    完了;

    インスタンス1 :

    #!/bin /shi = 10; while [[$ i -gt 5]]; do echo $ i;((i - )); done;

    実行結果:============================================================================= :)

    #!/bin /sh

    行の読み取り中;エコー$ lineの実行;完了< /etc /hosts;


    実行結果:==================

    sh testwhile2.sh

    #以下の行や各種プログラムを削除しないでください。ネットワーク機能が必要になると失敗する。127.0.0.1 centos5 localhost.localdomain localhost
    ループのステートメントまで



  • 構文の構造まで:

    条件の間まで

    do

    アクション

    done

    の意味:条件が満たされるまで終了する。それ以外の場合はアクションを実行します。

    インスタンス(testuntil.sh):

    #!/bin /sh

    a = 10;
    <[p>まで[[$ a] -lt 0]]; do

    echo $ a;

    ((a - mdash;));

    完了;

    結果:

    sh testuntil.sh

    109876543210

    3つのシェル選択ステートメント(ケース、用途の選択)

  • ケース選択ステートメントの使用(case /esac)

    構文構造

    case $ arg inパターン

  • Copyright © Windowsの知識 All Rights Reserved