Bash   发布时间:2022-05-13  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Bash如何检测传递给脚本的缺少的必需参数大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个 Bash脚本,我需要传递一定数量的参数才能使它工作.
./upload.sh $ARG1 $ARG2 $ARG3
假设2个必填字段是ARG1和ARG2,并且
ARG1和3不为空.

我认为脚本会运行并认为它有2个强制参数,
有没有办法检测到ARG2缺失/空?
我需要返回退出1而不是退出0.

这是一些脚本

RESOURCE=$1
CONTAINER=$2
APP_NAME=$3

if [[ -z $RESOURCE || -z $CONTAINER ]];
then
    echo `date`" - Missing mandatory arguments: resource and container. "
    echo `date`" - Usage: ./upload.sh  [resource] [container] [appname] . "
    exit 1
fi

提前致谢,

阿兰

解决方法

我总是使用一个小函数来检查所有参数:

process_arguments() {
    while [ -n "$1" ]
    do
        case $1 in
            -h|--help) echo "some usage details"; exit 1;;
            -x) do_something; shift; break;;
            -y) do_something_else; shift; break;;
            *) echo "some usage details"; exit 1;;
        esac
        echo $1; shift
    done
}

这样,如果您遗漏任何内容,将显示正确的使用详细信息,脚本将退出.否则,您可以按任何顺序输入args.脚本启动时,只需调用即可

process_arguments "$@"

你应该全力以赴.

大佬总结

以上是大佬教程为你收集整理的Bash如何检测传递给脚本的缺少的必需参数全部内容,希望文章能够帮你解决Bash如何检测传递给脚本的缺少的必需参数所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: