#navi(../)
* シェルスクリプトに渡された引数の数を取得する方法 [#rc7d61b4]
シェルスクリプトに引数を渡した場合、いくつの引数を渡したかを確認する方法を以下に記します。~
尚、本資料はbashにて動作確認を行いました。
#contents
#htmlinsertpcsp(linux_ads_top.html,linux-sp.html)
* 関連資料 [#y87da35f]
//-[[シェルスクリプトに渡された引数の数を取得する方法>逆引きシェルスクリプト/シェルスクリプトに渡された引数の数を取得する方法]]
-[[getoptsを利用して引数を取得する(bashビルドイン)>逆引きシェルスクリプト/getoptsを利用して引数を取得する(bashビルドイン)]]
-[[引数を配列に展開する方法>逆引きシェルスクリプト/引数を配列に展開する方法]]
* 引数の数を取得する [#b7234aff]
引数の数は''$#''に格納されています。
$#
* 引数チェックをするサンプルシェルスクリプト [#l4ed2bbf]
以下のスクリプトは引数が2つの場合、引数を表示し、2つ以外の場合はusage関数を実行します。
** サンプルスクリプト [#d0a5cc3e]
#ref(argc.sh)
#!/bin/bash
function usage {
echo Usage: `basename $0` value1 value2
exit 1
}
if [ $# -eq 2 ]; then
echo ARGV1: $1, ARGV2: $2
else
usage
fi
exit 0
** サンプルスクリプト実行例 [#dc69a2e8]
以下に引数が2つ以外の場合と引数が2つの場合の実行結果を記します。
- 引数なし
$ ./argc.sh
Usage: argc.sh value1 value2
$ echo $?
1
- 引数が3つ
$ ./argc.sh foo bar hoge
Usage: argc.sh value1 value2
$ echo $?
1
- 引数が2つ
$ ./argc.sh hello world
ARGV1: hello, ARGV2: world
$ echo $?
0
#htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)