|
第二部 これの ミニチュートリアル プログラミング Bash、使用方法を学ぶ場所 サイクル および私たちの機能を改善するのに役立つ他のツール スクリプト. |
条件付きの場合
Ifの機能は、フィルターを適用し、適用されたフィルターのタイプごとに操作またはタスクを実行することです。 その構造は次のとおりです。
[条件]の場合; 次に、elifコマンド[条件]; その後、elseコマンド。 fiコマンド
それぞれのセクションのForループの横に例が示されています。
サイクル
1. While:条件が真である限り、doとdoneの間に指定されたすべてのコマンドを実行します。 比較演算子を渡す場合は、式を角かっこで囲む必要があります。
CONDITION / COMMANDがコマンドを実行している間
例:数の九九
#!/ bin / bash X = 1 echo "数値を入力し、Enterキーを押します" read M#ループはXが10以下であることを制御しますが[$ X –le 10] do#Rには次の乗算を格納しますX by MR = $ [X * M]#この乗算は画面に出力されますecho "$ M * $ X = $ R" #letを使用して、Xの値を1単位増やしますlet X = $ X + 1 done
2. For:要素のリストを変数に格納します。これは、各サイクルで特定の操作を実行するために使用されます。
ELEMENTSのVARIABLEの場合、コマンドを実行します
例:あるフォルダから別のフォルダにファイルをコピーし、古いファイルを置き換えるプログラム。
#/ bin / bash#ソースディレクトリと宛先ディレクトリを確立しますORIGIN = / home / user / Downloads DESTINATION = / home / user / Documents#ソースに自分自身を配置しますcd $ ORIGIN#すべてのファイルのうち、必要なのは次のファイルのみです。は#ファイルのファイルを呼び出す* do ARCH-DESTINATION = "$ DESTINATION / $ FILE"#-fは、ディレクトリが私たちにとって何の役にも立たないため、通常のファイルをフィルタリングします。 –ntは、[-f $ FILE] && [$ FILE –nt $ ARCH-DESTINATION]の場合、宛先フォルダーで見つかったファイルよりも「新しい」ファイルを#除外します。 次にecho "Copying $ FILE ..."#cpでファイルをコピーしますcp $ FILE $ ARCH-DESTINATION fi done#cdを実行してソースフォルダを終了しますcd
別の例:ユーザーがコンピューターによって生成された乱数を推測する必要があるスクリプト。
#/ bin / bash#乱数は1から10まで生成され、#ランダムに保存されますRANDOM = $ [$ RANDOM%10 + 1] while [1] do echo –n "Enter a number:" read NUM#ユーザーが選択した数が#equaltoRANDOMであるかどうかを比較します。 [“ $ NUM –eq“ $ RANDOM”]の場合、変数の名前ではなく、変数の#valuesを評価するために$を使用することを忘れないでください。 次に、「正解です!」とエコーします。 #breakは、break中にループを終了することを許可します。#数値がRANDOMよりも小さい場合elif [“ $ NUM –gt“ $ RANDOM”]; 次にecho "それは少ない" "そうでない場合はランダムよりも大きいelseecho"は大きい "fi done
3. まで:構造がWhileと非常に似ていますが、条件の評価が負の場合は常にコードが実行されます。つまり、プログラムは「条件が発生するまで」実行を続けます。
CONDITION / COMMANDがコマンドを実行するまで
例:10〜20の数字を降順で出力します
#!/ bin / bash CONT = 20#カウンターが10未満(-lt、「より低い#than」)である限り、コードは[$ CONT -lt10]まで実行されます。 do echo "COUNTER $ CONT" #ACONTが単位で減算されますletCONT- = 1 done
4. 選択:この最後のサイクルは、メニューをすばやく作成するために一般的に使用されるため、特殊なケースです。 Forループと同様に機能します。
実行されたコマンドのリストでVARIABLEを選択します
例:ユーザーがスクリプトを続行または終了できるようにします。
#!/ bin / bash #itemは、#ユーザーが選択したものに応答する変数です。続行と終了は、ユーザーが使用できる#オプションですが、他のオプションを追加することもできます。#続行終了でアイテムを選択して、プログラムを終了します。休憩をとって、サイクルを終了します。 if [$ item = "Finish"]; その後、fiを壊します
フアン・カルロス・オルティス、ありがとう!