如何在 KSH 脚本中强制设置选项

如何在 KSH 脚本中强制设置选项

这是在我的脚本中捕获参数的骨架:

# fMain(){

        while getopts "d:e:h" _OPTION; do
                case $_OPTION in
                d)                              
                        dateVal=$OPTARG
                        ;;
                e)
                        extensionVal=$OPTARG
                        fListArgument "OPN_BYPASS" $OPTARG
                        ;;
                h)
                        fToonHelp
                        ;;
                \?)     echo "Please run '$0 -h' for help"
                        vARG_VLAG="Y"
                        ;;
                esac
        done

        exit 0

如何将选项 d 和 e 设置为强制?如果它们没有被填充,我可以简单地抛出一个错误(使用二进制变量来查看它们是否被填充)。但我想,存在一种更方便的方法来做到这一点。

答案1

if [ -z "$dateVal" ]; then
           printf "Option -d must be specified\n"
           exit
fi
if [ -z "$extensionVal" ]; then
           printf "Option -e must be specified\n"
           exit
fi

相关内容