シェルスクリプトに引数を渡した場合、いくつの引数を渡したかを確認する方法を以下に記します。
尚、本資料はbashにて動作確認を行いました。
引数の数は$#に格納されています。
$#
以下のスクリプトは引数が2つの場合、引数を表示し、2つ以外の場合はusage関数を実行します。
#!/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
以下に引数が2つ以外の場合と引数が2つの場合の実行結果を記します。
$ ./argc.sh Usage: argc.sh value1 value2 $ echo $? 1
$ ./argc.sh foo bar hoge Usage: argc.sh value1 value2 $ echo $? 1
$ ./argc.sh hello world ARGV1: hello, ARGV2: world $ echo $? 0