Geek-Side

Resource > while

while文を使うと繰り返し処理を行うことができます。

 while 条件; do
    処理
 done

1から10を足していく処理をwhile文を用いて書くと、下記のようになります。

while_list () {
    declare -i i=0;
    while [ $i -le 10 ]; do
        ret=`expr $ret + $i`;
        let i++;
    done
    echo "答えは $ret です";
}


ファイルを一行ずつ読む


ファイルを1行づつ読み込む処理はwhile文でよく書く処理です。
引数で与えられたファイルを1行づつ表示する関数です。
変数lineに1行の情報が格納されます。

while_file () {
    while read line; do
        echo $line;
    done < $1
}

読み込むファイルの空白やタブもそのまま出力したい場合は、IFS環境変数を指定します。
また、変数をダブルクォートで囲みます。
while_file () {
    while IFS=  read line; do
        echo "$line";
    done < $1
}