Linuxのシェルスクリプトで無限ループを実装する方法

目次

スポンサードリンク

while文の基本構文

シェルスクリプトでは、特定の条件が満たされている間、処理を繰り返すwhile文があります。while文の条件式にtrueを指定することで無限ループを実現することができます。 while文の基本構文は以下です。

while [ 条件式 ] 
do 
    処理...
done

サンプルコード

以下のサンプルコードはwhile文の条件式をtrueとし無限ループを作っています。ループ内では変数idxの値がループの度に1インクリメントされます。if文ではidxの値が10の場合は、breakコマンドで無限ループを中断しています。

#!/bin/bash

idx=0

while true
do
    sleep 1
    echo $idx
    idx=`expr $idx + 1`

    if [ $idx -eq 10 ]; then
        break;
    fi
done

exit 0

実行結果は以下のようになります。

[root@hostname ~]# ./roop.sh
0
1
2
3
4
5
6
7
8
9

シェルスクリプトの知識は、プログラマにとって長く役立つ知識です。 私はこちらの書籍で一通り知識を抑えました。基本から丁寧に解説されています。

最短3時間で覚えるLinuxシェルスクリプト
こちらは、シェルスクリプトの基本的な書き方、デバッグ方法、if, case, while, forなど基本的な制御構文について書かれています。30日間の無料体験もできる『Kindle Unlimited』でも読むことができます。

Linuxコマンドについて徹底的に学べるUdemy講座
もう絶対に忘れない Linux コマンド【Linux 100本ノック+名前の由来+丁寧な解説で、長期記憶に焼き付けろ!】 icon