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
花:
Name: 模范出租车3/模范出租车 第三季(2025)【更14集】【1080p.高码率】【内封简繁】【附1-2季】
Size: 5GB/集
该剧改编自同名高分漫画,是有可能成为韩国本土化的英雄题材的电视剧,主要讲述代替别人复仇并完成自己的复仇计划的痛快复仇故事。
Link: 👉Press me and click START to get the hidden link
#开始发布#Publish#Baidu#Quark#求转存
♾@gdsharing♾Telegram/电报/纸飞机的网页端:可能无法点击链接
@ChannelLikeBot
Qué puede hacer este bot?
Este bot está diseñado para agregar botones de votación a publicaciones en canales y grupos.
SIN enlaces, SIN publicidad, NADA excepto botones de votación.
Idioma: Inglés
(visto en @BotsGram.cu)
#voting, #create, #fast, #channel, #questions, #links, #publish, #http, #message
@QuanBot
Qué puede hacer este bot?
Este es un bot avanzado para crear encuestas, agregar opciones y usar muchas herramientas.
Idioma: Múltiple
(visto en @BotsGram_cu)
#group, #questions, #template, #poll, #publish, #choice, #inline, #community, #management, #administration, #voting, #vote, #votes, #survey