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
Делюсь с вами еще одним методом запоминания слов и фраз – Mind map (интеллект-карта). Это визуальная схема, где ключевая тема находится в центре, а вокруг нее — связанные идеи и слова. Такая структура помогает развивать ассоциативное мышление и систематизировать новые знания.
Для пробной карты я взяла тему «bozor». Здесь у нас 7 ответвлений. Я не стала писать везде просто слова, взяла некоторые фразы, которые вы можете использовать.
Предлагайте свои слова, с которыми будем строить ассоциации, чтобы было их легче запоминать.
P.S. а какие фразы вы обычно слышите от продавцов? Например, kelib turing (kebturing*) – приходите еще
#mindmap
• Нашел очень содержательный и актуальный Mindmap по командам Linux. Всё необходимое на одной схеме и всегда у вас под рукой:
➡Пользовательские;
➡Админские;
➡Встроенные в bash;
➡Команды-фильтры;
➡Мониторинг;
➡И многое другое...
• В хорошем качестве можно скачать по ссылке ниже:
➡️https://xmind.app/m/WwtB/
#Linux#Mindmap
#typescript#collaboration#drawing#flowchart#localfirst#mindmap#productivity#whiteboard
Drawnix is a free, open-source online whiteboard tool that combines mind maps, flowcharts, and free drawing in one platform. It supports features like image insertion, undo/redo, infinite canvas zooming, and exporting to PNG or JSON. It works on mobile devices and supports markdown and mermaid syntax for easy diagram creation. Built on a plugin architecture, it allows flexible development and integration with different UI frameworks. Using Drawnix helps you organize ideas visually, collaborate smoothly, and save your work automatically, making creative work and teamwork easier and more efficient.
https://github.com/plait-board/drawnix