今号では、前回より引き続き知っておくとちょっと便利なシェルスクリプトの基本についてご紹介します!
コマンド例3 (for 文)
- for 文とは
繰り返し処理をさせるための構文
指定した回数、同じ処理を実行する - 構文(基本系)
for 変数 in 値のリスト do 処理 done
- 例文(基本系)
例文では、リストに指定された 3つの数字 (1, 2, 3) を順番に表示します。# cat oss3-1.sh #!/bin/bash for i in 1 2 3 do echo $i done # ./oss3-1.sh 1 2 3
- for文に指定可能なリスト
for文で指定可能なリストは、数字や文字の羅列だけではありません。
変数の値、コマンド、ファイルの内容もリストとして指定できます。
その一部を例としてご紹介します。変数の値をリストに指定しているスクリプトの例
# cat oss3-2.sh #!/bin/bash VALUE1=1 VALUE2=2 VALUE3=3 for i in $VALUE1 $VALUE2 $VALUE3 do echo $i done # ./oss3-2.sh 1 2 3
コマンドをリストに指定しているスクリプトの例 (seq コマンド)
# cat oss3-3.sh #!/bin/bash for i in `seq 1 3` do echo $i done # ./oss3-3.sh 1 2 3
※seq コマンドについて
seq コマンドは、指定した開始の値から終了の値までを順番に表示するコマンドです。
上記の使用方法以外にも、開始の値を変更したり、増やす数値を飛ばす (2つおき、3つおき)
などの指定も可能です。
この点については、次号以降でお話したいと思います。コマンドラインの引数を使用するスクリプトの例
こちらはコマンド実行時に 3つの引数 (1,2,3) を指定し、その引数を呼び出すコマンド ($1,$2,$3) をそれぞれリストに指定 するスクリプトの例です。
# cat oss3-4.sh #!/bin/bash for i in $1 $2 $3 do echo $i done # ./oss3-4.sh 1 2 3 1 2 3