相关疑难解决方法(0)

为什么 getopts 只在第一次工作?

为什么此选项仅在第一次使用时有效,然后每隔一次就被忽略?就像不使用该选项时正在重置一样。

这是我的功能:

testopts() {
    local var="o false"
    while getopts "o" option; do
        case "${option}" in
            o)
                var="o true"
                ;;
        esac
    done
    echo $var
}
Run Code Online (Sandbox Code Playgroud)

运行它时,它仅在第一次传递选项时返回 true。

$ testopts
o false
$ testopts -o
o true
$ testopts -o
o false
Run Code Online (Sandbox Code Playgroud)

bash getopts

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

标签 统计

bash ×1

getopts ×1