reload_flag=""
if [[ -n "${DEBUG}" ]]; then
reload_flag="--reload"
fi
if [[ -n "${WORKER_COUNT}" ]]; then
workers=${WORKER_COUNT}
else
workers=2
fi
gunicorn --workers ${workers} \
--bind 0.0.0.0:8000 \
${reload_flag} main.wsgi
Писали такие конструкции чтобы проверить наличие флага и сформировать команду правильно?
На самом деле можно сделать тоже самое проще. Для этого используются операторы условной подстановки, доступные в оболочках семейства POSIX.
:- для установки значений по умолчанию
${WORKER_COUNT:-2}
Если переменная не объявлена, то будет дефолтное значение 2.
:+ подставляет указанный текст, если переменная не пуста
${DEBUG:+--reload}
Если что-то есть в переменной то распечатается текст после символа +, в противном случае - ничего. Удобно для опциональных флагов, как в нашем примере.
Итого наш скрипт может выглядеть так:
gunicorn --workers ${WORKER_COUNT:-2} \
--bind 0.0.0.0:8000 \
${DEBUG:+--reload} main.wsgi
Есть еще два оператора.
:= не только подставить дефолтное значение, но и присвоить его переменной, если она пуста
# никаких переменных еще нет
VAL1=${VAL2:=hello}
# теперь доступны обе
echo $VAL1 $VAL2
# hello hello
:? остановить выполнение с ошибкой, если переменной нет.
echo ${MISS:?is required}
bash: MISS: is required
Код выхода будет 1.
#tricks#linux
Ўзбекистон Республикаси Президенти Шавкат Мирзиёев Миср Араб Республикаси Президенти Абдулфаттоҳ ас-Сиси билан телефон орқали мулоқотда уни Президент сайловида қозонган ишончли ғалабаси билан самимий қутлади.
—
Президент Республики Узбекистан Шавкат Мирзиёев в ходе телефонного разговора искренне поздравил Президента Арабской Республики Египет Абдельфаттаха ас-Сиси с убедительной победой на состоявшихся президентских выборах.
#Mirziyoyev#muloqot#Misr#hamkorlik
Prezident.uz|Facebook|Instagram|YouTube|Twitter
Президент Шавкат Мирзиёев расмий ташриф билан Қоҳирага келди. Давлатимиз раҳбарини Миср Президенти Абдулфаттоҳ ас-Сиси кутиб олди.
—
Президент Шавкат Мирзиёев прибыл с официальным визитом в Каир. Главу нашего государства встретил Президент Египта Абдельфаттах ас-Сиси.
#Mirziyoyev#tashrif#Misr#hamkorlik
Prezident.uz|Facebook|Instagram|YouTube|Twitter
Ўзбекистон Республикаси Президенти Шавкат Мирзиёев Миср Араб Республикаси Президенти Абдулфаттоҳ ас-Сисининг таклифига биноан расмий ташриф билан ушбу мамлакатга жўнаб кетди.
—
Президент Республики Узбекистан Шавкат Мирзиёев по приглашению Президента Арабской Республики Египет Абдельфаттаха ас-Сиси отбыл в эту страну с официальным визитом.
#Mirziyoyev#tashrif#Misr#hamkorlik
Prezident.uz|Facebook|Instagram|YouTube|Twitter
Ўзбекистон Республикаси Президенти Шавкат Мирзиёев Мисрга расмий ташрифи доирасида ушбу мамлакатнинг етакчи компаниялари раҳбарлари билан учрашув ўтказди.
—
Президент Республики Узбекистан Шавкат Мирзиёев в рамках официального визита в Египет провел встречу с руководителями ведущих компаний этой страны.
#Mirziyoyev#tashrif#Misr#ishbilarmonlar
Prezident.uz|Facebook|Instagram|YouTube|Twitter
Расмий ташриф билан Қоҳирада бўлиб турган Ўзбекистон Республикаси Президенти Шавкат Мирзиёев Миср цивилизация миллий музейига ташриф буюрди.
—
Президент Республики Узбекистан Шавкат Мирзиёев, пребывающий с официальным визитом в Каире, посетил Национальный музей египетской цивилизации.
#Mirziyoyev#tashrif#Misr#muzey
Prezident.uz|Facebook|Instagram|YouTube|Twitter
Ўзбекистон Республикаси Президенти Шавкат Мирзиёев Миср Араб Республикасига расмий ташрифини Қоҳирадаги Аҳмад Фарғоний ҳайкали пойига гулчамбар қўйишдан бошлади.
—
Президент Республики Узбекистан Шавкат Мирзиёев начал свой официальный визит в Арабскую Республику Египет с возложения цветов к подножию памятника Ахмаду Фергани в Каире.
#Mirziyoyev#tashrif#Misr#AhmadFargoniy
Prezident.uz|Facebook|Instagram|YouTube|Twitter