bash – 为什么“getopts”在一个函数中无法工作?

前端之家收集整理的这篇文章主要介绍了bash – 为什么“getopts”在一个函数中无法工作?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
function readArgs() {
    while getopts "i:o:p:s:l:m" OPTION; do
        case "$OPTION" in
            i)
                input="$OPTARG"
                ;;
            o)
                output="$OPTARG"
                ;;
            ...
        esac
    done
}

readArgs

if [[ -z "$input" ]]; then
    echo "Not set!"
fi

这总是给我没有设置!但是如果我注释掉行的函数readArgs(){,}和readArgs,它可以工作.为什么?@H_403_4@

也,@H_403_4@

input="$OPTARG"
echo "$input"
;;

不行@H_403_4@

getopts正在将参数解析为readArgs函数,而且您没有给该函数任何参数.

尝试:@H_403_4@

readArgs "$@"
原文链接:https://www.f2er.com/bash/383672.html

猜你在找的Bash相关文章