Я пытаюсь последовать совету по Как проверить, установлена ли переменная в Bash?
Итак, наше приложение разворачивается в кластере AWS ECS с использованием шаблона CloudFormation, а иногданам может потребоваться включить режим отладки.
Кажется, лучший способ - ввести переменную env DEBUG_MODE
, чтобы при значении TRUE скрипт entrypoint.sh запускал приложение java с параметрами отладки.
Вот моя последняя попытка, я изначально хотел использовать && для одиночного IF, но получал ошибку, поэтому пытался изолировать ее и разделить на две части:
if [ -z ${DEBUG_MODE+FALSE} ]
then
echo not debug, not set
else
if [ $DEBUG_MODE = TRUE ]
then
echo debug
else
echo not debug, set to $DEBUG_MODE
fi
fi
Вывод:
user@hostname:~$ export DEBUG_MODE=
user@hostname:~$ sh test.sh
test.sh: 5: [: =: unexpected operator
not debug, set to
Я не могу понять это, как написать это так:
- Если DEBUG_MODE не установлен, пуст или что-то кроме TRUE, он выполняет обычную команду Java.
- Только если DEBUG_MODE равен TRUE, он выполняет команду Java с параметрами отладки?
Спасибо!