是否可以将选项(不是参数)传递给 bash 中的函数?

Is it possible to pass options (not params) to a function in bash?

它看起来像下面这样:

my_functions(){
  while getopts ":a" Option
    do
      case $Option in
        a ) echo "a" ;;
        * ) ;;
      esac
    done
}

然后你会调用它:

function -ab 

这可能吗,或者有更好的方法吗?

语法正确,但这个具体示例的函数名称选择不当。应该这样做:

f(){

while getopts ":a" Option
do
    case $Option in
    a ) echo "a" ;;
    * ) ;;
    esac
done
shift $((OPTIND -1))

}