我想为我的函数命名参数。
我似乎只能对从命令行调用的主要功能使用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
您的程序无法工作,因为您将参数传递给了程序,但是在程序内部调用函数时my_test
没有选项标志-s
和响应-p
。根据您的实际需求,使用
my_test -s 11 -p 20
或从外部传递参数并以以下方式调用函数
my_test "$@"
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句