私の関数のパラメータ名を指定したいと思います。
コマンドラインから呼び出された基本関数にのみGETOPTSを使用しているようです。
ファイルに複数の関数がある場合、別の関数を呼び出すときに同じタイプの機能(名前付きパラメータ)を取得する方法はありますか?
たとえば、次はうまくいかないようです。
$ cat getops_example.sh
function usage {
echo 'here'
}
function my_test {
while getopts ":s:p:" o; do
case "${o}" in
s)
s=${OPTARG}
((s == 45 || s == 90)) || usage
;;
p)
p=${OPTARG}
;;
*)
usage
;;
esac
done
}
my_test 11 20
echo "s was $s"
echo "p was $p"
$
$ ./getops_example.sh -s 10 -p 20
s was
p was
ベストアンサー1
プログラムにパラメータを渡しましたが、プログラム内でmy_test
オプションフラグ-s
と-p
そのオプションなしで関数を呼び出すため、プログラムを実行できませんでした。実際のニーズに合わせてご使用ください。
my_test -s 11 -p 20
または、外部からパラメータを渡して関数を呼び出します。
my_test "$@"