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
🔧Представь: ты создаёшь алгоритмы для автономных автомобилей...
Звучит как фантастика? Не для Московского Политеха.
Продолжаем рассказывать о магистерских программах Передовой инженерной школы технологического лидерства «FDR». Сегодня — заключительная часть нашей серии.
На программе «Программная инженерия в автомобилестроении» ты освоишь полный цикл разработки ПО для умных автомобилей: от программирования на Python, C++ и Java до работы с искусственным интеллектом, машинным обучением и системами автономного вождения.
→ Предыдущие части ищи по хештегу #FDR
Проголосовать | @mospolytech
✈️Будущее транспорта — за тобой!
Рассказываем о магистерских программах Передовой инженерной школы технологического лидерства «FDR» Московского Политеха.
Хочешь создавать электромобили и умные системы для них? Тогда программа «Электрифицированные транспортные средства» — твой правильный выбор!
Почему мы?
- Эксперты и преподаватели — специалисты из индустрии
- Работа в современных лабораториях
- Реальные проекты с первого курса
- Практический опыт и конкурентное преимущество
→ P.S. Предыдущие части ищите по хештегу #FDR
Проголосовать | @mospolytech
🏎Где можно работать с настоящими гоночными автомобилями?
В магистратуре Московского Политеха!
Продолжаем рассказывать про магистерские программы Передовой инженерной школы технологического лидерства «FDR».
Например, в программе «Гоночный инжиниринг» собраны все актуальные особенности современного гоночного мира. Подробнее читайте в карточках.
→ Предыдущую часть ищите по хештегу #FDR
Проголосовать | @mospolytech
🔩Рассказываем о магистратуре ПИШ технологического лидерства «FDR»
В течение недели мы будем публиковать карточки с подробной информацией о магистерских программах Передовой инженерной школы технологического лидерства «FDR».
В первый день рассказываем о программе «Инженерный дизайн и стилистика транспортных средств»
P.S. Дальше найти информацию вы сможете по хештегу #FDR
Проголосовать | @mospolytech
Franklin D. Roosevelt was the 32nd U.S. President. He led the country through the Great Depression by creating jobs and helping people with new programs. He also guided the U.S. during World War II. FDR was the only president elected four times—last elected on November 7, 1944, and started his fourth term on January 20, 1945. After his presidency, the 22nd Amendment was passed, limiting presidents to two terms. 🇺🇸🗳️
[Read more]
@googlefactss
#FDR#USPresident#History#GreatDepression#WWII#22ndAmendment