[ 通常表示 ]  [ 簡易表示 ]  [ シンプル表示 ]

「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

while【コマンド】

pointこの用語のポイント

pointUNIX系で使えるコマンドだよ

point処理を繰り返すよ

スポンサーリンク

簡単に書くよ

while【コマンド】とは

処理(指定したコマンドの実行)を繰り返すときに使うコマンド
です。

image piyo

詳しく書くよ

処理(コマンドの実行)を繰り返すときに使うコマンドが「while」コマンドです。
一般的にはシェルスクリプト内で使用しますが、その気になればコマンドライン上でも使えます。

「while」コマンドは、UNIX系(LinuxとかMacとか)で使えるコマンドです。

書き方は

■sh系
while [ 【条件式】 ];do 【実行するコマンド】 done

■csh系
while (【条件式】)
【実行するコマンド】
end


です。
私がやり方を知らないだけかもしれませんが、csh系では1行で書けませんでした。

オプション的なものは、ありません。

それでは、実際の使い方を見てみましょう。
まずはsh系から行きます。

例えば

while [ 1 ];do date;ls; sleep 3;clear; done

を実行すると

date
ls
sleep 3
clear

の4つのコマンドが繰り返し実行されます。

date」コマンドは「コンピュータの日時を表示・設定するときに使うコマンド」です。
ls」コマンドは「ファイルディレクトリの一覧を表示するときに使うコマンド」です。
sleep」コマンドは「処理を一定時間止めるときに使うコマンド」です。
clear」コマンドは「画面の表示内容を消すときに使うコマンド」です。

つまり、上記のコマンドを実行すると

1.現在時刻を表示
2.ファイル一覧を表示
3.3秒間そのまま
4.画面の表示内容を消す
5.1に戻る


となり、現在時刻とファイル一覧が、3秒間隔のリアルタイムで更新されながら、画面上に表示され続けます。

終了するときは

Ctrlキー+「c」のキー

を押してください。
止まります。

なお、今回は1行でまとめて書きましたが、複数行に分けて書くことも可能です。

while [ 1 ];do

まで書いてEnterキーを押すと、次の行のはじまりが

>

になります。

この状態で

date [Enterキー]
ls [Enterキー]
sleep 3 [Enterキー]
clear [Enterキー]

入力して、最後に

done [Enterキー]

を入力すると、1行で書いたときと同じ結果になります。
実行直前の画面の表示内容は以下の通りです。

while [ 1 ];do
> date
> ls
> sleep 3
> clear
> done


これがsh系における「while」コマンドの使い方です。

今回は条件式に「1」を設定して無限ループにしましたが、その他の条件を指定することもできます。
書き方はシェルスクリプト内にwhile文を書くときと同じです。
具体的な内容は、他のところで勉強してください。

次にcsh系における「while」コマンドの使い方を説明します。
細かい違いはありますが、基本的にはsh系と同じです。
例えば

while ( 1 )

まで書いてEnterキーを押すと、次の行のはじまりが

while?

になります。

この状態で

date [Enterキー]
ls [Enterキー]
sleep 3 [Enterキー]
clear [Enterキー]

と入力して、最後に

end [Enterキー]

を入力すると、sh系で書いた例と同じ動きをします。
実行直前の画面の表示内容は以下の通りです。

while( 1 )
while? date
while? ls
while? sleep 3
while? clear
while? end


なお、頑張って調べたのですが、1行にまとめて書けませんでした。
できるかもしれませんが、私はやり方を知りません。

これがcsh系における「while」コマンドの使い方です。
基本的にはsh系と同じですね。

このように「while」コマンドは処理(コマンドの実行)を繰り返すときに使います。
例えば、ファイルが作成されたか(削除されたか、更新されたか)、プロセスが終了したか、接続中のユーザは何人いるか、などなど、何かを監視するときに重宝するコマンドです。

気が向いたら、使い方をマスターしておいてください。
ちょっとだけですが、デキる人になった気分を味わえます。

image piyo2

一言でまとめるよ

まぁ「while」ってコマンドが出てきたら「処理を繰り返すときに使うんだな~」と、お考えください。

一番上に戻るよ
スポンサーリンク