シェルスクリプトに渡す引数の数が足りなければ、エラーを表示して処理を中断
シェルスクリプトに渡す引数の数が足りなければ、エラーを表示して処理を中断
シェルスクリプトに渡す引数の数が足りなければ、エラーを表示して処理を中断する処理を 1 行で書く。
例: 引数が 3 つに満たない場合、エラーを表示して処理を中断する
$#
: 引数の数を取得$0
: 実行しているシェルスクリプトファイル名$1
: 1 番目の引数の値$2
: 2 番目の引数の値$3
: 3 番目の引数の値$4
: 4 番目の引数の値
test.sh
#!/bin/bash -xe
[[ $# < 3 ]] && echo "$0 <argument_1> <argument_2> <argument_3>" && exit 1
ARGUMENT_1=$1
ARGUMENT_2=$2
ARGUMENT_3=$3
ARGUMENT_4=$4
# 処理
結果
$ ./test.sh
+ [[ 0 < 3 ]]
+ echo './test.sh <argument_1> <argument_2> <argument_3>'
./test.sh <argument_1> <argument_2> <argument_3>
+ exit 1
$ ./test.sh a
+ [[ 1 < 3 ]]
+ echo './test.sh <argument_1> <argument_2> <argument_3>'
./test.sh <argument_1> <argument_2> <argument_3>
+ exit 1
$ ./test.sh a b
+ [[ 2 < 3 ]]
+ echo './test.sh <argument_1> <argument_2> <argument_3>'
./test.sh <argument_1> <argument_2> <argument_3>
+ exit 1
$ ./test.sh a b c
+ [[ 3 < 3 ]]
+ ARGUMENT_1=a
+ ARGUMENT_2=b
+ ARGUMENT_3=c
+ ARGUMENT_4=
$ ./test.sh a b c d
+ [[ 4 < 3 ]]
+ ARGUMENT_1=a
+ ARGUMENT_2=b
+ ARGUMENT_3=c
+ ARGUMENT_4=d
$ ./test.sh a b c d e
+ [[ 5 < 3 ]]
+ ARGUMENT_1=a
+ ARGUMENT_2=b
+ ARGUMENT_3=c
+ ARGUMENT_4=d