小编Dea*_*ean的帖子

Getopts 在函数内部不起作用

我正在尝试getops在一个函数中使用它,但它似乎不起作用:

#!/bin/bash

function main()
{
  while getopts ":p:t:c:b:" o; do
    case "${o}" in
    p)
      echo "GOt P"
      p=$OPTARG
      ;;
    t)
      echo "GOt T"
      t=$OPTARG
      ;;
    c)
      echo "GOt C"
      c=$OPTARG
      ;;
    b)
      echo "GOt b"
      b=$OPTARG
      ;;
    *)
      #usage 
      echo "Unknown Option"
      return 
      ;;
      esac
  done

  echo $p
  echo $t
  echo $c
  echo $b
}

main
Run Code Online (Sandbox Code Playgroud)

然后像这样运行它:

$ ./bin/testArguments.sh -p . -t README.md -c 234 -b 1
Run Code Online (Sandbox Code Playgroud)

我试过确保 optid 是本地的,但这也不起作用。还有什么可能是错误的吗?

shell-script

1
推荐指数
1
解决办法
3022
查看次数

标签 统计

shell-script ×1