Bash如何检测传递给脚本的缺少的必需参数
发布时间:2020-12-15 21:43:23 所属栏目:安全 来源:网络整理
导读:我有一个 Bash脚本,我需要传递一定数量的参数才能使它工作. ./upload.sh $ARG1 $ARG2 $ARG3 假设2个必填字段是ARG1和ARG2,并且 ARG1和3不为空. 我认为脚本会运行并认为它有2个强制参数, 有没有办法检测到ARG2缺失/空? 我需要返回退出1而不是退出0. 这是一些
我有一个
Bash脚本,我需要传递一定数量的参数才能使它工作.
./upload.sh $ARG1 $ARG2 $ARG3 假设2个必填字段是ARG1和ARG2,并且 ARG1和3不为空. 我认为脚本会运行并认为它有2个强制参数, 这是一些脚本 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 "$@" 你应该全力以赴. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |