shellは、入力パラメータの数をどのように判断するのか。
Shellスクリプトでは、$#変数を使用して入力パラメータの数を確認できます。$#はスクリプトに渡された引数の数を表します。
以下は、入力パラメータの数を判定するためのサンプルスクリプトです。
#!/bin/bash
if [ $# -eq 0 ]; then
echo "No arguments provided."
elif [ $# -eq 1 ]; then
echo "One argument provided."
else
echo "More than one argument provided."
fi
上記の例では、if条件分岐を使用して$#の値を判断し、$#が0の場合はパラメータが渡されていないことを意味し、1の場合は1つだけパラメータが渡されていることを意味し、それ以外の場合は複数のパラメータが渡されていることを意味します。
例えば、このスクリプトを端末で実行し、異なる数の引数を渡してテストすることができます。
$ ./script.sh
No arguments provided.
$ ./script.sh arg1
One argument provided.
$ ./script.sh arg1 arg2 arg3
More than one argument provided.