Я хочу сделать анализатор аргументов внутри одного аргумента.
Вот мой лаунчер ./bin/kube/launch_market_quality_job.sh -e staging -j job_example
А вот мой скрипт.
while [ ${#} -ne 0 ]; do
case "${1}" in
--environment | -e)
shift;
export ONE_ENVIRON=${1};
case $ONE_ENVIRON in
staging)
export REPOSITORY=dtr.grupobme.es/tca-qa/spark-driver
;;
production)
export REPOSITORY=dtr-prod.grupobme.es/tca-produccion/spark-driver
;;
*)
fail "You must provide the environment [staging|production]"
;;
esac
;;
--job | -j )
shift;
export JOB=${1}
case $JOB in
job_example_extra_args)
case "${1}" in
--name | -n )
export $NAME=${1}
[... extra args]
;;
*)
help
exit
;;
esac
shift
done
Что я хочу сделать, это зависит от опции "--j | -job", это проанализировать еще две опции, в зависимости от того, выполняются ли задания, те или иные.
Например, обычное задание, называемое 'job_example' с предыдущим средством запуска это работает правильно.
Но если моя работа 'job_example_extra_args', мне нужен новый аргумент под названием 'name'.
`./bin/kube/launch_market_quality_job.sh -e staging -j job_example_extra_args --name "Jesus"`
Я не знаю, как правильно, если это 'job_example_extra_args ', я хочу получить флаг правильно, и если он не включен, сценарий должен завершиться с ошибкой или остановиться. Я хочу добавить опции флагов внутри флага --job, чтобы активировать его, если я хочу задание.