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
☕️ В России смягчили требования ГОСТа к растворимому кофе #HP
Росстандарт утвердил обновленные нормы для популярного бодрящего напитка. Новые правила вступят в силу в ноябре текущего года и внесут существенные изменения в критерии оценки качества растворимого кофе.
Согласно документу, теперь в порошкообразном продукте официально допускается наличие небольших комков. Для гранулированного кофе увеличено допустимое время растворения: при наличии спекшихся фрагментов напиток может готовиться до 2,5 минут, хотя ранее норма составляла всего 30 секунд.
Одним из самых резонансных изменений стала отмена фиксированного перечня ингредиентов для кофейного сырья. Теперь производители могут использовать различные пищевые компоненты в составе своей продукции без строгой привязки к прежним спискам.
А вы предпочитаете растворимый кофе или выбираете зерновой?
👍🏻 — Пью только свежесваренный!
⚡️ — Растворимый быстрее и удобнее.
❗Подписаться | Реклама |📲Наш канал в MAX
💸Hewlett-Packardвыиграла тендер на $2 млрд от Агентства национальной безопасности США для разработки систем видеонаблюдения с использованием искусственного интеллекта.
Контракт рассчитан на десять лет и предназначен для удовлетворения «растущих потребностей ведомства в управлении данными».
☝️ Новая система будет принимать и обрабатывать большие объемы информации, а также поддерживать возможности глубокого обучения и искусственного интеллекта.
#HP#отслеживание
#активности#HP
Фармим поинты от перспективного блокчейна, устойчивого к сибилам.
Humanity Protocol - блокчейн, устойчивый к атакам мультиаккеров, благодаря использованию Proof of Humanity (PoH).
Привлёк проект более $50м от Pantera Capital(lead), Jump Crypto(lead), Animoca, Shima, Hashed, Sandeep Naiwal, Mechanism, Blockchain.com, Foresight и др. На двух последних раундах оценка проекта была больше $1B.
Сейчас у проекта проходит тестнет, в котором мы можем собирать поинты RWT. Эти поинты команда обещает конвертировать в токены HP на листинге.
Что делать?
- переходим по ссылке, ждём в очереди и регистрируемся;
- придумываем Human ID и вводим реф. код ramadancrypton;
- заполняем личные данные и подтверждаем почту(лучше заполнять реальные данные, тк проект открыто борется с сибилами и ботами);
- подключаем все соц. сети(чем больше, тем лучше);
- ежедневно клеймим поинты RWT по кнопке "Daily check-in";
- берём тестовые tHP в кране и бриджим в сеть Sepolia и наоборот;
- приглашаем друзей;
- проявляем активность в дискорд и забираем там роли;
Так как сеть тестовая, бывают частые баги и ошибки, обновляйте страницу, ждите и пробуйте ещё раз.
Судя по слухам, проект может выйти уже в этом квартале, поэтому лучше не откладывать.