Bash 为什么';getopts';在一个函数中,是否发生故障?
这总是给我Bash 为什么';getopts';在一个函数中,是否发生故障?,bash,ubuntu,Bash,Ubuntu,这总是给我未设置但是如果我注释掉函数readArgs(){,}和readArgs,它会工作。为什么? 而且 不起作用。getopts正在解析readArgs函数的参数,而您没有给该函数任何参数 尝试: input="$OPTARG" echo "$input" ;; getopts依赖于将OPTIND变量初始化为1。或者 readArgs "$@" 或 这仅在函数有多个调用时才有必要。OP没有描述函数的容器。对于我在.bashrc中编写的函数,我使用这些方法。尽管这个答案没有直接回答OPs问
未设置
但是如果我注释掉函数readArgs(){
,}
和readArgs
,它会工作。为什么?
而且
不起作用。
getopts
正在解析readArgs
函数的参数,而您没有给该函数任何参数
尝试:
input="$OPTARG"
echo "$input"
;;
getopts
依赖于将OPTIND
变量初始化为1。或者
readArgs "$@"
或
这仅在函数有多个调用时才有必要。OP没有描述函数的容器。对于我在.bashrc中编写的函数,我使用这些方法。尽管这个答案没有直接回答OPs问题,但它确实会在搜索getopts在函数中不起作用的原因时出现,并且在调试代码时非常有用(同样适用于.bashrc中的函数)
readArgs "$@"
readArgs() { OPTIND=1; ...
readArgs() { local OPTIND; ...