Bashプログラミング
 Computer >> コンピューター >  >> プログラミング >> Bashプログラミング

【bash入門】シェルスクリプトでuntilループを使う方法

bashにはforwhileuntilという3つのループ構文が用意されています。それぞれ構文や動作は異なりますが、いずれも特定の条件式を評価しながらコードブロックを繰り返し実行するための仕組みです。

untilループは、条件式が「偽(false)」と評価されている間、コードブロックを実行し続けます。これはwhileループとは正反対の動作です。whileループは条件式が「真(true)」である間にコードブロックを実行するのに対し、untilループはその逆の挙動を取ります。

untilループの基本構文

until [ expression ]
do
	code block
	...
	...
done

構文を分解して見てみましょう。

  • ループを開始するには、untilキーワードに続けて、単一または二重の括弧で囲んだ条件式を記述します。
  • 条件式が「偽」と評価される間、コードブロックが実行され続けます。
  • 実際のコードブロックはdodoneの間に記述します。

この記事では、以下の実行例を通じて、シェルスクリプトでuntilループを使う方法を解説します。

スクリプトで無限ループを作成する

条件式としてfalseステートメントを使えば、無限ループを簡単に作成できます。無限ループを試す場合は、sleepコマンドを組み合わせてスクリプトの実行を定期的に一時停止させると、システムへの負荷を抑えられます。

count=0
until false
do
	echo "Counter = $count"
	((count++))
	sleep 2
done
【bash入門】シェルスクリプトでuntilループを使う方法

1行でループ文を記述する

ループ処理は1行でまとめて記述することもできます。以下のコードは、先ほどの無限ループの例とまったく同じ内容を1行に圧縮したものです。この場合、各ステートメントの区切りを示すためにセミコロン(;)を使う必要があります。

# until false; do echo "Counter = $count"; ((count++)); sleep 2; done
【bash入門】シェルスクリプトでuntilループを使う方法

breakとcontinueでフローを制御する

untilループの中でも、breakcontinueステートメントを使用できます。breakステートメントはループを抜けて、次のステートメントへ制御を移します。一方、continueステートメントは現在のイテレーション(繰り返し)をスキップし、次のイテレーションから処理を再開します。

同じ無限ループの例を使って具体的に見てみましょう。カウントが5になったとき、continueステートメントによってループ本体の残りの処理がスキップされ、次のイテレーションへジャンプします。そして、カウントが10以上になるとbreakによってループが終了します。

count=0
until false
do
  ((count++))
  if [[ $count -eq 5 ]]
  then
    continue
  elif [[ $count -ge 10 ]]
  then
    break
  fi
  echo "Counter = $count"
done
【bash入門】シェルスクリプトでuntilループを使う方法

今回はここまでです。また別の興味深い記事でお会いしましょう。「until」その時まで、ぜひ読み続けて応援していただければ幸いです。

  1. スマートフォンをテレビのリモコン代わりに使う方法【赤外線・アプリ対応の完全ガイド】

    スマートフォンといえば、通話やSNSでの友人とのつながり、ゲーム、動画視聴などに使うのが一般的ですが、実はもっと便利な使い方があります。そのひとつが「スマホをテレビのリモコンにする」という方法です。従来のリモコンを紛失してしまったり、故障してしまったりしても、手元にあるスマートフォンがあれば安心。お気に入りの番組を見たいときに、リモコンを探し回る必要はもうありません。スマートフォンをテレビのリモコンとして使う方法方法1:内蔵の赤外線(IR)機能を使ってテレビを操作する注意: この方法を使うには、スマートフォンに赤外線ポート(IRブラスター)が内蔵されている必要があります。お使いの端末に赤外線機

  2. PCでTelegramを使う方法|デスクトップアプリとWeb版の導入手順を徹底解説

    Telegramは、プライベートメッセージングの世界において、堅牢なセキュリティを誇る数少ないアプリの一つとして高い評価を得ています。電話番号ではなくユーザー名で新しい相手とつながれる仕組みを採用しているため、プライバシーを重視するユーザーの間で人気の選択肢となっています。あらゆる安全な通信の決定打というわけではありませんが、自分のやり取りを目立たない状態に保つうえで大きな助けになります。 ユーザー数が着実に増え続ける中、その一部がPCからTelegramへアクセスしたいと考えるのは自然な流れです。幸い、他の人気メッセージングアプリと同様に、TelegramもPCにインストールして快適に利用で