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
Kun raqami: 60+
2024-yilda IT Park Uzbekistan jamoasining ko‘magida 60 dan ortiq mahalliy startaplar yirik xalqaro texnologik tadbirlarda ishtirok etdi — konferensiyalar va ko‘rgazmalardan tortib taqdimot sessiyalar va startap ko‘rgazmalarigacha.
Ushbu xalqaro faollik O‘zbekiston startaplariga tanilish, investorlar bilan aloqalar o‘rnatish, yangi bozorlarni o‘rganish hamda chegaralardan tashqarida rivojlanish imkonini beradi.
🚀 Biz bilan birga o‘sishni xohlaysizmi?
Hamjamiyatga qo‘shiling, yangiliklardan xabardor bo‘ling va global imkoniyatlar uchun StartupBase.uz platformasi orqali ariza topshiring.
—
Number of the Day: 60+
In 2024, with the support of the IT Park Uzbekistan team, more than 60 local startups participated in major international tech events — from conferences and exhibitions to pitch sessions and startup expos.
This global outreach helps Uzbek startups gain visibility, connect with investors, explore new markets, and scale beyond borders.
🚀 Want to grow with us?
Join the community, follow the updates, and apply for global opportunities on StartupBase.uz
#UzbekistanStartups#TechExpansion#ITParkUzbekistan#GlobalGrowth#StartupEcosystem
ℹ️IT Park Capital sizning fikringizni bilmoqchi
Agar siz startapni yaratayotgan yoki rivojlantirayotgan bo‘lsangiz, moliyalashtirish qanchalik muhimligini bilasiz.
“IT Park Capital” hozirda startaplar va IT-kompaniyalarga haqiqatan ham qanday moliyaviy vositalar va mexanizmlar kerakligini aniqlash maqsadida so‘rovnoma o‘tkazmoqda.
Biz ta’lim dasturlari va akseleratsiyadan tortib, IT-xizmatlar eksporti hamda venchur kapital vositalarigacha bo‘lgan yangi qo‘llab-quvvatlash modellarini yaratishga yordam beradigan taklif va g‘oyalarni to‘plamoqdamiz.
📩Qisqa so‘rovnomani havola orqali to‘ldiring
Sizning fikringiz startaplar uchun moliyaviy infratuzilmani yaxshilash, O‘zbekiston ekotizimini yanada barqaror va o‘sish uchun ochiq qilishga yordam beradi.
—
ℹ️IT Park Capital wants your opinion
If you are launching or developing a start-up, you know that financing is crucial.
IT Park Capital is currently conducting a survey to understand what financing tools and mechanisms startups and IT companies really need.
We are collecting suggestions and ideas that will help create new support models — from educational programmes and acceleration to IT service exports and venture capital instruments.
📩Fill out the short form at the link —
your opinion will help improve the financial infrastructure of startups and make Uzbekistan's ecosystem more sustainable and open to growth.
#Startupbase#ITParkCapital#UzbekistanStartups#Financing#TechEcosystem