【发布时间】:2019-05-15 06:27:59
【问题描述】:
我的要求很简单,我只想检查getopts 参数是否为空。我正在使用 jenkins 踢我的脚本,需要检查提供的值是否为空,然后设置默认值,否则使用提供的值:
并将参数传递给 shell 脚本,如下所示:
./rds-db-dump.sh -s ${source_instance_id} -c ${target_instance_class} -i ${source_snapshot_id}
来自 shell 脚本的 sn-p:
while getopts ":s:c:i:h" opt; do
case ${opt} in
s) SOURCE_INSTANCE_ID="${OPTARG}"
;;
c) TARGET_INSTANCE_CLASS="${OPTARG}"
;;
i) SOURCE_SNAPSHOT_ID="${OPTARG}"
;;
h) usage && exit 1
;;
\?) echo "Invalid option -${OPTARG}" >&2
usage && exit 1
;;
esac
done
echo "SOURCE_SNAPSHOT_ID: ${SOURCE_SNAPSHOT_ID}"
echo "TARGET_INSTANCE_CLASS: ${TARGET_INSTANCE_CLASS}"
我如何使用getopts 来检查参数是否为空,而不是分配一些默认值来执行某些操作,否则使用提供的参数值。
【问题讨论】: