"$COUNTER"回目の繰り返しです。COUNTER++が処理された後、COUNTERがTMP_NUMより小さくなることはないため、条件が「真」になることはない。"$COUNTER"回目の繰り返しです。COUNTER++が処理された後、COUNTERがTMP_NUMより小さくなることはないため、条件が「真」になることはない。"breakfidone通常この様な書き方はしないが、一例としてとらえてほしい。なにかしらの無限ループをする場合条件分岐で「break」への糸口をつくるが、その条件分岐を間違えると抜けだせなくなる。コンピュータプログラムは基本的に「記述規則のエラー」は検出できるが、処理内容が「意図的かどうか?」は判別しないのである。良くも悪くも愚直なのだ。c」を連打すると止められる。条件式にはtest以外を設定することもできる。典型的な実用例としては下記のようなものがある。#readで一行ずつtestfile.txtの内容を読み込みwhileでそれを繰り返す。#testfile.txtの内容がfile_lineに代入される。"testfile.txt"1234567#!/usr/bin/bash#readで一行ずつtestfile.txtの内容を読み込みwhileでそれを繰り返す。#testfile.txtの内容がfile_lineに代入される。ccc123aaabbbccccontinue文についてwhileなどの文の先頭に戻る。結果continue文を実行した場合、後ろに書いてある文は実行されない。VARは"$VAR"です。"デフォルトではインクリメントを行います。中止したい場合はnを押してください。VARは"$VAR"です。"デフォルトではインクリメントを行います。中止したい場合はnを押してください。./while-ex4.shVARは0です。デフォルトではインクリメントを行います。中止したい場合はnを押してください。help:n1234567VARは0です。help:VARは1です。help:helpデフォルトではインクリメントを行います。中止したい場合はnを押してください。help:nその他:似たり寄ったりなコマンド時代とともに変化しつづけてきたLinuxはことによりけり「似たり寄ったりな結果になるコマンド」が存在することがある。今回のスクリプトの例でletコマンドを使いCOUNTERの値を増やしたがexprでも同じことが可能だ、もしくはbcなどのコマンドを使用しても問題ないだろう。どれを使うか迷うかもしれないが、基本的な方針としては可読性の高いものを選択するというのも一つの基準だ。なにかしらのこだわりなどがある場合など、最終的にユーザの判断にゆだねられる。LinuxやUnixというのは方法、選択肢を多く提供してくれるシステムだ。最初は選択肢の多さにとまどうかもしれないが「状況が使うべきコマンドを選ぶ」ことも多い、ケースバイケースで使っていこう。まとめこのページではシェルスクリプトのwhileについてまとめてご紹介した。forももちろん使うが、whileも活躍する場面が多いため、ぜひ理解して使いこなせるようになっておこう。TweetPocketこのページの続きや関連ページは下記から一覧で確認できる。・「プログラマーとして転職をしたい!」という方はリナックスアカデミーの資料を見てみてください。短期間で未経験からエンジニアになることができるスクールとして15年間選ばれ続けてきた理由やノウハウが載った資料です。エンジニアの入り口に立つために必要な勉強や技術の最新動向、本当に使えるIT資格、学習に役立つ国からの奨励金などの情報が詰まっています。無料で2,3日中にお手元にお届けします。資料を見てみるSNSでもご購読できます。IT研修専門企業のリナックスアカデミーです。】エンジニアの入り口に立つために役立つようなコンテンツを日々ご提供していきます。講師や代表やスタッフ陣が毎日楽しく書いています。ご質問・ご指摘等はぜひコメントください。PMご指摘いただきありがとうございます。一部文章におかしな部分がありましたので訂正いたしました。引き続き、ご愛読のほど、よろしくお願いいたします。直後にダブルコーティションが抜けているのでエラーに。TMP_NUMが正確なコードになるかと思われます。AMと思いましたが、1文なので問題なしですね。英文で質問文を作成したので、2語以上になるため""が必要となりエラーでした。サンプル4ですと、1文でも""を付けて頂いているので、統一したほうが親切かもしれませんね。PMいつもご愛読いただきありがとうございます。ご指摘頂きました通り、readコマンドの構文としては一文で済む場合にはダブルクオートで括らなくても動作しますが、間にスペースなどを挟んだ場合にはダブルクオートが必須となります。サンプルプログラム内においては不要な実行エラーを防ぐ意味でも一律で括る方が宜しいかと思います。該当記事につきましては修正させて頂きました。今後とも、ご愛読のほどよろしくお願いいたします。*メールアドレス(公開はされません。*次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。必要な勉強や技術の最新動向、本当に使えるIT資格、学習に役立つ国からの奨励金などの情報を無料でお届け資料を見てみる。