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

时间:2015-06-12 06:55:09

标签: linux bash function shell scripting

它看起来像下面这样:

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

然后你会用:

来称呼它
function -ab 

这可能还是有更好的方法吗?

1 个答案:

答案 0 :(得分:2)

语法是正确的,但是这个特定的例子对函数名称的选择很差。这应该这样做:

f(){

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

}