logo

リナックスシェルスクリプトでループを使う方法 📂プログラミング

リナックスシェルスクリプトでループを使う方法

for ループ

基本構造

in の後に繰り返す項目を直接列挙する。

コード:

for i in apple banana cherry; do
    echo "Fruit: $i"
done

出力:

Fruit: apple
Fruit: banana
Fruit: cherry

seq

seq コマンドを使って数値の範囲を指定できる。

コード:

for i in $(seq 1 5); do
    echo "Number: $i"
done

出力:

Number: 1
Number: 2
Number: 3
Number: 4
Number: 5

{} 構文

{} 構文を使って複数の項目を一行で列挙できる。

コード:

for i in {A..E}; do
    echo "Letter: $i"
done

for i in {1..5}; do
    echo "Number: $i"
done

出力:

Letter: A
Letter: B
Letter: C
Letter: D
Letter: E

Number: 1
Number: 2
Number: 3
Number: 4
Number: 5

while ループ

[ の後と ] の前に空白を一つ置く必要がある点に注意。

コード:

double=1
while [ $double -le 500 ]; do
    echo "double is $double"
    double=$(( double + double ))
done

出力:

double is 1
double is 2
double is 4
double is 8
double is 16
double is 32
double is 64
double is 128
double is 256