【Linux入門】for文による繰り返し処理をわかりやすく解説!

Linuxのシェルスクリプトには他のプログラミング言語同様for文による繰り返し処理が可能です。

ここではシェルスクリプトで使用するfor文について以下の内容で解説していきます。

・for文とは
・for文で数値を指定して繰り返す
・for文で文字列を指定して繰り返す
・seqで指定回数分繰り返す
・ファイルを繰り返し読み込む

for文はシェルスクリプトの処理の中でもif文同様に使用する頻度が高い構文です。

この記事ではfor文ついてわかりやすく解説していますので、ぜひ使い方を覚えておきましょう!

for文とは

for文指定した回数分同じ処理を繰り返したいときに使用します。

たとえば、100回同じ処理を繰り返したい場合や、指定した値と一致するまで処理を繰り返したい場合などにfor文を使用します。

シェルスクリプトでのfor文の書式は以下となります

for 変数 in リスト
do
  繰り返し処理
done

繰り返し処理を行うには、リストに繰り返す値を複数指定しておきます。

リストに指定された値は1回の処理ごとに変数に代入され、do~doneによる処理で繰り返し処理が実行されます。

for文の基本的な使い方

ここではfor文の基本的な使い方について見ていきましょう。

数値を繰り返す

まずは数値を指定して繰り返す処理を解説します。

以下の例では0から9まで処理を10回繰り返すサンプルです。

#!/usr/bin/bash
for i in 0 1 2 3 4 5 6 7 8 9
do
   echo $i
done

実行結果:

0
1
2
3
4
5
6
7
8
9

このサンプルではリストに0から9までの値を指定し、変数iに1回の処理ごとにリストの値が代入されています。

do~doneによる処理ではechoによる変数iの値を出力しています。

変数iは繰り返し処理ごとに0から9までの値が代入されるので、echoによる出力も0から順番に表示されます。

文字列を繰り返す

続いてリストに指定した文字列で繰り返し処理を実行する方法です。

#!/usr/bin/bash
for i in apple orange melon banana painapple
do
   echo $i
done

実行結果:

apple
orange
melon
banana
painapple

数値同様文字列も繰り返し取得できていることがわかりますね!

ちなみにfor文のリストには変数を指定することもできます。

#!/usr/bin/bash
STR1=apple
STR2=orange
STR3=malon
STR4=banana
STR5=painapple

for i in $STR1 $STR2 $STR3 $STR4 $STR5
do
   echo $i
done

実行結果:

apple
orange
melon
banana
painapple

変数を指定しても同様の結果になることがわかりますね!

for文の応用的な使い方

seqで回数を指定する

seqを指定すると指定した回数分処理を繰り返すことができます。

たとえば、10回処理を繰り返したい場合は以下のように記述します。

#!/usr/bin/bash

for i in `seq 10`
do
  echo $i回目
done

実行結果:

1回目
2回目
3回目
4回目
5回目
6回目
7回目
8回目
9回目
10回目

処理が10回繰り返されました!

ファイルを繰り返し読み込む

for文による繰り返し処理ではリストにコマンドを指定することもできます。

以下の例では「ls」コマンドでファイル名に"fruits*.txt"が含まれるファイルをリストに指定し、do~doneで取得したファイル名とファイルの中身を表示しています。

#!/usr/bin/bash

for fruits in `ls fruits*.txt`
do
  echo $fruits
  cat $fruits
done

実行結果:

fruits01.txt
apple
fruits02.txt
orange
fruits03.txt
melon

while文での繰り返し処理

for文と似た繰り返し処理としてはwhile文があります。

for文はリストに指定した値分を繰り返すのに対して、while文は条件式が偽になるまで繰り返し処理を行います。

while文については以下で詳しく解説していますので合わせて参考にしてください。

まとめ

ここでは、Linuxのシェルスクリプトでfor文による繰り返し処理について解説しました。

  • for文とは
  • for文の基本的な使い方
  • for文の応用的な使い方
  • while文について

シェルスクリプトではfor文を使用して同じ処理を繰り返す機会は多いので使い方についてはよく理解しておきましょう。

もし、for文の使い方を忘れてしまったら、この記事を思い出してくださいね!

Writer

侍エンジニア編集部

株式会社SAMURAI

侍エンジニアは「人生を変えるプログラミング学習」をコンセンプトに、過去多くのフリーランスエンジニアを輩出したプログラミングスクールです。プログラミングに役立つ情報や有用な情報を発信していきます。

あなたの目的に合わせた
SAMURAI ENGINEERの運営サービス

SAMURAI ENGINEER Pro

未経験でも挫折しないプログラミングスクール

詳細はこちら

SAMURAI ENGINEER Plus

日本最大級のサブスク型オンラインITスクール

詳細はこちら

SAMURAI ENGINEER Freelance

「一人で稼げる」スキルを身につける

詳細はこちら
Close