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
💥Triumph Scrambler 900 — классика с внедорожным характером
✏️ Британский мотоцикл Triumph Scrambler 900 сочетает в себе ретро-стиль и современные технологии, оставаясь верным духу оригинальных «скамблеров» 1960-х.
✔️ Дизайн и атмосфера
С его высоко расположенной выхлопной трубой, внедорожными шинами и минималистичным дизайном Scrambler 900 выглядит так, будто сошел со страниц мотоистории. Однако под капотом — современный 900-кубовый параллельный твин с воздушно-масляным охлаждением, выдающий 64 л.с. и 80 Нм крутящего момента.
✔️ Ездовые характеристики
Двигатель обеспечивает плавную подачу мощности, идеальную для городских поездок и легкого бездорожья. Длинноходная подвеска и легкая рама делают мотоцикл управляемым даже на грунтовых дорогах, а ABS и система traction control добавляют безопасности.
✔️ Для кого этот байк?
Scrambler 900 — отличный выбор для тех, кто ценит классическую эстетику, но не хочет жертвовать надежностью. Это мотоцикл для повседневных поездок, воскресных приключений и тех, кто любит выделяться из толпы.
Хотите почувствовать дух свободы? Triumph Scrambler 900 готов к любым дорогам!
#Triumph#Scrambler#Мотоциклы
💥 Triumph Scrambler 400 Escape: французский взгляд на внедорожный характер
✏️ Французская мастерская FCR Original представила впечатляющий проект переосмысления Triumph Scrambler 400. Результат их работы, получивший название «Escape», — это мотоцикл, который одинаково уверенно чувствует себя как в городских джунглях, так и на грунтовых дорогах.
Вместо того чтобы создавать радикальный кастом под одну задачу, FCR Original предлагает продуманный, сбалансированный пакет доработок. И главное — это не штучная работа, а конфигурируемый набор, который можно адаптировать под личные предпочтения.
Что изменилось?
FCR предлагает два варианта апгрейда — для дорожной версии Scrambler 400 X и для более подготовленной к бездорожью Scrambler 400 XC. При этом двигатель остается нетронутым: 398-кубовый одноцилиндровый мотор сохраняет свою надежную заводскую настройку. Все изменения направлены на ходовую часть, защиту, эргономику и внешний вид.
Вот лишь некоторые детали преображения:
· Защита: Моторный щиток, решетка радиатора, специальная крышка цепи и новые поворотники.
· Подвеска и колеса: Оффроудная резина Continental, которая отлично держит и гравий, и асфальт.
· Выхлоп: Высоко расположенная система с новым глушителем. Это не только эффектно смотрится, но и увеличивает глубину брода при переправах через воду. Звук стал более насыщенным, но без ущерба для комфорта.
· Эргономика: Доработанное сиденье для дальних поездок, багажник и мягкие кофры для многодневных путешествий.
· Стиль: Специальная окраска бака, боковых панелей и обтекателя фары. Доступны варианты: черный, бежевый, ледяной синий и темно-зеленый с топографическими узорами, подчеркивающие «приключенческий» характер мотоцикла.
Гибкий подход
Особенность Escape в том, что это модульная система. Вы можете начать с установки защиты или выхлопа, постепенно расширяя функционал своего мотоцикла. Многие компоненты доступны отдельно в фирменном магазине аксессуаров FCR.
Статус и доступность
Полная версия проекта была впервые представлена широкой публике на выставке Rétromobile 2026 в Париже. Конкретных цен на полный пакет компания не раскрывает — стоимость рассчитывается индивидуально под каждого клиента.
Почему это интересно?
FCR Original удалось сохранить главные козыри Triumph Scrambler 400 — доступность, лицензию A2 и простоту в управлении — но при этом добавить мотоциклу настоящий характер приключенческого эндуро. «Escape» выглядит как готовый заводской спецвыпуск, а не кустарная переделка.
#TriumphScrambler#TriumphScrambler400#FCROriginal#CustomBike#Scrambler#AdventureBuild#MotorcycleNews