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本ノック+名前の由来+丁寧な解説で、長期記憶に焼き付けろ!】
Search
Recent Posts
- カーネル更新やパッケージのパッチ適用後、OSの再起動が必要か確認するLinuxコマンド(needs-restarting)
- OpenSSHのエラー「bad ownership or modes for chroot directory component」の原因と解消方法
- Apacheの起動状態をチェックして停止してる場合にApacheを起動するシェルスクリプト
- Amazon LinuxのOSバージョンを調べる方法|/etc/redhat-release の代替ファイル
- MYSQLでダンプファイルを取得する際に発生したエラー「Couldn't execute 'SELECT BINLOG_GTID_POS('', '0')': You are not using binary logging (1381)」の原因と対処方法