bashの可変数引数の処理
ずいぶん昔に書いたコードを今更ながら思い出したのでメモとして記載。
シェルスクリプトを書くときに可変数での引数を処理したい場合がたまにある。
その時に以下のようにコードを書くことで全ての引数を順に処理することができる。
#!/bin/bash
while [ -n "$1" ]
do
echo "$1"
shift
done
$1が第1引数を表している。
$1をechoで出力し、shiftコマンドで引数をずらす。
そうすることで、第2引数が$1に入ってくる。
これを繰り返すことで全ての引数を処理できる。
例えば以下のようになる。
$ ./test.sh 5 4 3 2 1
実行結果
5
4
3
2
1
これだけではあまり意味がないかもしれないが、
バッチ処理をするとき等に、他のJarなどを呼び出す際に
引数をばらす処理をJava側で書く必要がないため楽かもしれない。