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
Agar mashinangiz opsiyalari haqida ma'lumot bersak, sizga qiziqmi?😉
“Piyodalarni aniqlash tizimi” opsiyasi😎
Ushbu texnologiyaning asosiy maqsadi piyodalar bilan to'qnashuvning oldini olishdir. Statistik ma'lumotlar shuni ko'rsatadiki, piyodalarning avtomobil bilan to'qnashuvi natijasida o'lim ehtimoli sezilarli darajada kamayadi.
Biz xavfsiz sayohatlar tarafdorimiz👍
———————————————————
Будет ли Вам интересно, если Мы расскажем Вам об опциях ваших автомобилей😉
Опция – “Система обнаружения пешеходов”😎
Основное предназначение этой технологии – предотвращение столкновения с пешеходами. Статистические данные свидетельствуют, что вероятность смертельного исхода от столкновения пешехода с автомобилем значительно снизится.
Мы за безопасные поездки👍
#chevrolet#findnewroads#chevroletuzbekistan
Chevrolet Tracker - zamonaviy va keng interyer.
O’zingizga o’xshagan zamonaviy va energiyaga boy ixcham krosovver izlayapsizmi?☺️
Sport uslubiga xos,hayratlanarli darajadagi keng interyer, hamyonbop narxlarda ko'ngilochar hamda xavfsizlik bo'yicha ilg'or texnologiyalarni taklif etadi.😎
-------------------------------------------------------
Chevrolet Tracker - стильный и просторный внутри.
Ищете компактный кроссовер , такой же стильный и энергичный ̆, как и вы?😊
Предлагая спортивное исполнение, удивительно просторный интерьер и доступные передовые технологии безопасности и развлечений.😎
#chevrolet#tracker#findnewroads#chevroletuzbekistan
Ikkinchi avlod Traversening kuchli tomonlaridan biri uning tashqi ko'rinishidir. "Katta" Chevrolet SUVlariga taqlid qiluvchi to'laqonli SUV: agressiv ko'rinishga ega kuchli va yirik avtomobil. Shubhasiz sevib qolasiz!
Одна из сильных сторон «Траверса» второй генерации – внешность. Полноправный SUV, подражающий «старшим» внедорожникам Chevrolet: мощный и огромный автомобиль с агрессивным внешнем видом. Вы влюбитесь обязательно!
#chevrolet#findnewroads#chevroletuzbekistan#traverse
Chevrolet Spark – besh eshikli ixcham xetchbek.😊😍
U yorqin, dinamik dizaynni o'zida ifodalab, yuqori sifatli salon (interyer) hamda zamonaviy texnik komponentlarni birlashtiradi. Kam yoqilg'i sarfi, manervlar va boshqa avtomobillar sig’a olmaydigan to’xtash joylariga kichik gabaritlari bilan to’xtay oladi.🔝
———————————————————
Chevrolet Spark – этот пятидверный компактный хэтчбек.😊😍
Он яркий, динамичный, сочетает в себе выразительный дизайн, качественный салон и современную техническую составляющую. Малый расход топлива, маневренность и малые габариты, возможность парковаться там, куда другой автомобиль попросту не поместится.🔝
#chevrolet#spark#findnewroads#chevroletuzbekistan
Chevrolet belgisi avtomobil olamidagi eng chiroyli logotiplardan biri hisoblanadi.
_____________________________________________
Логотип Chevrolet считается одним из самых красивых в автомобильном мире.
#thehistoryofChevrolet#chevrolet#findnewroads#chevroletuzbekistan