【Linux】 パラメータ取り込み ( shift ) サンプルシェルスクリプト ― 2009年02月01日 08:56
メモ : 物忘れがひどく?なった私の覚書です。
シェルスクリプトに渡されるパラメータの取得方法(変数)は、
引数1 = $1
引数2 = $2
引数3 = $3
:
と '$' に続く数字がカウントアップされた変数に入っている。
でも、何個パラメータが指定されるか分からないような場合
shift を使用して指定されたパラメータをシフトして
パラメータを順次取り込むことが出来る。
以下に簡単な例を
#!/bin/bash
TEST_FLAG=0
while [ ! -z "$1" ]; do
case $1 in
-a)
TEST_FLAG=1
;;
-b)
TEST_FLAG=2
;;
*)
param=$1
;;
esac
shift;
done
echo ${TEST_FLAG} : ${param}
このシェルをいろんなパターンで起動してみると
# /bin/bash /tmp/test.sh
0 :
# /bin/bash /tmp/test.sh -a
1 :
# /bin/bash /tmp/test.sh -a 123
1 : 123
# /bin/bash /tmp/test.sh -b 123
2 : 123
# /bin/bash /tmp/test.sh 123
0 : 123
# /bin/bash /tmp/test.sh -c
0 : -c
# /bin/bash /tmp/test.sh -a -b 123
2 : 123
# /bin/bash /tmp/test.sh -b -a 123
1 : 123
うん、shift を使えばパラメータ個数、パラメータ指定の順番など任意指定の
対応が簡単に出来そう (^-^)
コメント
トラックバック
このエントリのトラックバックURL: http://inari.asablo.jp/blog/2009/02/01/4136356/tb
※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。
コメントをどうぞ
※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。
※なお、送られたコメントはブログの管理者が確認するまで公開されません。