Bash解析函数中的命令行参数

时间:2017-12-08 12:54:40

标签: bash function getopts

我的代码:

#options() {
while getopts s:v:h opt; do
  case ${opt} in
    s)
      echo -s passed with ${OPTARG}
      ;;
    v)
      echo -v passed with ${OPTARG}
      ;;
    h)
      usage
      exit
      ;;
    *)
      usage
      exit
      ;;
  esac
done
#}
#options

如果我在脚本中调用它,一切都按预期工作。但是一旦我删除了哈希并使代码功能化,我就永远不会进入案例标记。

有人可以解释这种行为吗?

编辑:

以下是我最新的见解。

shellcripts中有三个可能的变量范围:

  1. 本地
  2. 全球
  3. “in-main-visible-only”或该范围的确切名称。

0 个答案:

没有答案