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
Tommy #Robinson, animatore dell'ultradestra extraparlamentare anti-migranti e anti-islamica in #UK: "È stato un onore per me stringere la mano a un uomo al quale ho guardato fin dall'inizio del mio attivismo, un leader coraggioso, un uomo forte d'Europa,…
Tommy #Robinson, animatore dell'ultradestra extraparlamentare anti-migranti e anti-islamica in #UK: "È stato un onore per me stringere la mano a un uomo al quale ho guardato fin dall'inizio del mio attivismo, un leader coraggioso, un uomo forte d'Europa,…
Tommy #Robinson, animatore dell'ultradestra extraparlamentare anti-migranti e anti-islamica in #UK: "È stato un onore per me stringere la mano a un uomo al quale ho guardato fin dall'inizio del mio attivismo, un leader coraggioso, un uomo forte d'Europa,…
Tommy #Robinson, animatore dell'ultradestra extraparlamentare anti-migranti e anti-islamica in #UK: "È stato un onore per me stringere la mano a un uomo al quale ho guardato fin dall'inizio del mio attivismo, un leader coraggioso, un uomo forte d'Europa, il vicepremier italiano Matteo #Salvini" (ANSA)
@UltimoraPolitics24
Tyler Robinson, accused of murdering Charlie Kirk, has an uncle, Mike (Michael) Robinson, who is the former director of Radio Free Ukraine, funded by the United States, and invited veterans of Azov (think of the militant wing of Hamas) to share their experiences.
#mike#robinson#azov#kirk
👂More on Trump's Ear ⚠️
The correspondence of Tyler Robinson, a suspect in the murder of Charlie Kirk, with his transgender lover, with whom he lived, has been published. The name of the roommate is not mentioned.
#correspondence#tyler#robinson#suspect
#Trump#Democrats
👂More on Trump's Ear ⚠️
🚁Впервые за 15 лет Robinson Helicopter представила новый вертолет!
На выставке APSCON Unmanned в Финиксе (штат Аризона) компания Robinson Helicopter Company (RHC) показала публике свою новейшую разработку — вертолет R88🔥
💬
«Ведущий мировой производитель гражданских вертолетов, компания Robinson Helicopter Company (RHC) представила публике совершенно новый вертолет R88 на выставке APSCON Unmanned в Финиксе, штат Аризона.»
🔧R88 — первый полностью новый вертолет Robinson за последние 15 лет.
💬
«Новая модель R88 — самый большой и новейший вертолет компании, созданный за последние 15 лет. Он представляет собой 10-местный одномоторный газотурбинный вертолет, оснащённый двигателем Safran Arriel 2W мощностью 1000 лошадиных сил.»
🚨 Универсальность, надёжность и большая грузоподъёмность делают эту машину отличным выбором для задач общественной безопасности и не только.
📈
«Вертолет R88 будет иметь дальность полета более 650 километров и продолжительность более трех с половиной часов, а его полезная нагрузка составит более 1270 килограммов.»
#Robinson#R88#авиация#вертолеты#новинка#гражданскаяавиация#технологии#США#APSCON2025#Safran#инновации🚁🌍🔧