【Linux】シェルスクリプトの制御文
シェルスクリプトの制御構造は、プログラムの基本的な処理方法と同様に、主に以下の3つの処理の組み合わせで構成されています。
シェルスクリプトの制御構造
処理の種類 | 説明 |
---|---|
順次処理 | コマンドを上から順に一行ずつ実行する処理 |
条件分岐処理 | 条件に応じて異なる処理を行うための制御文 |
繰り返し処理 | 同じ処理を繰り返し実行するための制御文 |
順次処理
順次処理は、スクリプト内のコマンドを上から順に一行ずつ実行する処理方法です。これが最も基本的な処理の流れです。特別な制御文は不要です。
例:順次処理
このスクリプトでは、echo
コマンドが順番に実行されます。
#!/bin/bash
echo "Step 1: Hello"
echo "Step 2: World"
echo "Step 3: Linux"
条件分岐処理
条件分岐処理は、条件に応じて異なる処理を行うための制御文です。主に if
文や case
文が使用されます。
例:条件分岐処理
このスクリプトでは、ユーザーが入力した数が10より大きいかどうかで異なるメッセージを表示します。
#!/bin/bash
echo "Enter a number: "
read number
if [ $number -gt 10 ]; then
echo "The number is greater than 10."
else
echo "The number is 10 or less."
fi
クリプトの内容と解説
コマンド | 説明 |
---|---|
#!/bin/bash | スクリプトが bash シェルで実行されることを指定します。 |
echo "Enter a number: " | ユーザーに数値の入力を促すメッセージを表示します。 |
read number | ユーザーが入力した数値を変数 number に格納します。 |
if [ $number -gt 10 ]; then | 変数 number が10より大きいかどうかを判定します。 |
echo "The number is greater than 10." | 条件が真(10より大きい)の場合に表示されるメッセージです。 |
else | 条件が偽(10以下)の場合の処理を開始します。 |
echo "The number is 10 or less." | 条件が偽(10以下)の場合に表示されるメッセージです。 |
fi | if 文の終了を示します。 |
スクリプトの動作の流れ
- スクリプトが
bash
シェルで実行されます。 - ユーザーに「Enter a number: 」と表示され、数値の入力が促されます。
- ユーザーが入力した数値が変数
number
に格納されます。 if
文で、変数number
の値が10より大きいかどうかを判定します。
・真の場合: "The number is greater than 10." と表示されます。
・偽の場合: "The number is 10 or less." と表示されます。
繰り返し処理
繰り返し処理は、同じ処理を繰り返し実行するための制御文です。主に for
ループ、while
ループ、until
ループが使用されます。
このスクリプトでは、for
ループを使って1から5までの数を順に表示します。
例:繰り返し処理
シェルスクリプトの制御構造は、順次処理、条件分岐処理、繰り返し処理の3つで構成されています。これらを組み合わせることで、複雑な処理やタスクの自動化を効率的に行うことができます。
#!/bin/bash
for i in 1 2 3 4 5
do
echo "Iteration $i"
done
まとめ
処理の種類 | 説明 |
---|---|
順次処理 | コマンドを上から順に一行ずつ実行する処理 |
条件分岐処理 | 条件に応じて異なる処理を行うための制御文 |
繰り返し処理 | 同じ処理を繰り返し実行するための制御文 |
これらの基本的な制御構造を理解し、適切に使用することで、シェルスクリプトの機能を最大限に活用することができます。