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,它可以工作.为什么?
也,
input="$OPTARG"
echo "$input"
;;
不行
g
etopts正在将参数解析为readArgs
函数,而且您没有给该
函数任何参数.
尝试:
readArgs "$@"