【LPIC1】制御構造:繰り返し処理

LPIC1

1.繰り返し処理とは

特定の条件を満たす間、特定の処理を繰り返し実行する処理のこと。

2.whileコマンド

(1)書式

whileで指定した条件式に該当する間、do~doneに囲まれたコマンドを繰り返し実行する。

while 条件式
do
  コマンド
done

(2)備考

ユーザーから特定文字列の入力を受けたら繰り返し処理を停止したい場合、コマンド「read」を使うといい。コマンド「read」では標準入力を受け取り、変数などに格納するもので、その変数に特定の文字列が格納されていればwhileを抜けるように条件式を整えれば良い。
<readの説明>
・書式…read 変数名※変数宣言は自動で行われるがなるべく明示した方がわかりやすい

例)
name=""

echo -n "名前を入力してください。"
read name

while [ "$name" != "end" ]
do
  echo "あなたの名前は、$nameです。"
  echo -n "名前を入力してください。"
  read name
done

echo "処理を終了します。"

3.forコマンド

処理を繰り返す回数を決めて、その回数分だけ処理を繰り返し実行するコマンド。

(1)書式

forで指定した変数にリストの値を一つづつ代入していき、その数だけdo~doneで指定したコマンドを実行。リストを全て代入し終えたらループを抜ける。コマンド「seq」をリストに使うことで連番やスキップが可能。

for 変数名 in 変数に代入する値のリスト
do
  コマンド
done

(2)備考

①連番や特定の数分だけ飛ばした連番の取得(seq)

ⅰ.書式
seq 終了値
または
seq 開始値 終了値
または
seq 開始値 間隔値 終了値
ⅱ.forと共に利用する例
for i in `seq 3 3 10`
do
  echo $1
done

→出力結果として「3,6,9」が表示される。
タイトルとURLをコピーしました