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
📷Атмосферные фото с премьеры «Криминального чтива» на Каннском кинофестивале 1994 года.
Шедевр Квентина Тарантино был впервые представлен публике в этот день ровно 31 год назад.
#ВИДЕОТЕКА
#QuentinTarantino
#PulpFiction
#BruceWillis
#JohnTravolta
#SamuelLJackson
#UmaThurman
— Ммм... Может, будете чувствовать себя как дома?
— ...
— Нет-нет, я не в том смысле. Я хотела сказать, может быть, вы сядете и скажете мне, что вам надо.
#ВИДЕОТЕКА
#LoadedWeapon1
#ЗаряженноеОружие
#ЭмилиоЭстевес
#СэмюэлЛДжексон
#EmilioEstevez
#SamuelLJackson
#АлексейМихалев
🎬📷 Джон Мактирнан, Брюс Уиллис, Сэмюэл Л. Джексон и Джереми Айронс на съемках третьей части «Крепкого орешка».
Сегодня знаменитому режиссёру исполнилось 75 лет.
#ВИДЕОТЕКА
#JohnMctiernan
#ДжонМактирнан
#DieHardWithAVengeance
#КрепкийОрешек3
#BruceWillis
#БрюсУиллис
#JeremyIrons
#ДжеремиАйронс
#SamuelLJackson
#СэмюэлЛДжексон
⠀
🌟Квентин Тарантино, Ума Турман, Джон Траволта, Брюс Уиллис, Сэмюэл Л. Джексон и Мария ди Медейруш на Каннском кинофестивале, 1994
⠀
🏆В тот год фильм «Криминальное чтиво» был удостоен «Золотой пальмовой ветви»
⠀
⠀
#КвентинТарантино#УмаТурман#ДжонТраволта#БрюсУиллис#СэмюэлЛДжексон#МариядиМедейруш#QuentinTarantino#JohnTravolta#SamuelLJackson#BruceWillis#UmaThurman#MariadeMedeiros
«Очень трудно найти такой фильм, где я не употребил бы хоть раз слово «ублюдок». Я собирался использовать его даже в «Звездных войнах», но мне сказали, что джедаи так не разговаривают».
Сегодня Сэмюэлу Л. Джексону исполнилось 77 лет.
#ВИДЕОТЕКА
#SamuelLJackson
#СэмюелЛДжексон
#PulpFiction
#КриминальноеЧтиво
#DieHardWithAVengeance
#КрепкийОрешек3
#TheLongKissGoddnight
#ДолгийПоцелуйНаНочь
#TheNegotiator
#Переговорщик
#StarWarsEpisodeIIAttackOfTheClones
#АтакаКлонов
#CoachCarter
#ТренерКартер
#Avengers
#Мстители
#DjangoUnchained
#ДжангоОсвобожденный
#TheHatefulEight
#ОмерзительнаяВосьмерка
#TulsaKing
#КорольТалсы