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
📰 exFAT Achieves Better Sequential Read Performance With Linux 7.0
The open-source Linux file-system driver for supporting Microsoft's exFAT now can deliver better sequential read performance with Linux 7.0 thanks to multi-cluster support...
🔗 Source: https://www.phoronix.com/news/Linux-7.0-exFAT
#linux#opensource
https://github.com/cheat/cheat
cheat allows you to create and view interactive cheatsheets on the command-line.
Alternative to https://t.me/nomad01290/4027
#linux#cli#shell
👩💻 Linux Master.
• Нашел очень крутое приложение на Android, которое называется Linux Master - это такая интерактивная викторина, предназначенная для улучшения ваших знаний Linux за счет повышения уровней и рангов. Независимо от того, являетесь ли вы новичком или опытным пользователем, это приложение поможет вам отточить свои навыки по широкому кругу тем Linux. Обязательно попробуйте.
• Кстати, у разработчиков есть аналогичные приложения и по другим направлениям. Например есть KubePrep - поможет в обучении для освоения Kubernetes. Или есть System Design - познакомит вас с основными концепциями системной архитектуры.
• В общем и целом, вы обязательно найдете для себя полезное приложение из имеющихся: https://play.google.com/CodingShell
#Linux#DevOps#Kubernetes
📰 Dirty Frag gets a sequel as Fragnesia hands Linux attackers root-level access
Fresh kernel flaw comes with public exploit code and continues ugly run of highly reliable privilege escalation bugs tied to memory and page-cache handling.
🔗 Source: https://www.theregister.com/security/2026/05/14/dirty-frag-gets-a-sequel-as-fragnesia-hands-linux-attackers-root-level-access/5240270
#kernel#linux
📰 New AMDGPU Driver Pull Request For Linux 7.2 Preps For HDML 2.1 FRL
Sent out on Wednesday was the latest AMDGPU/AMDKFD driver pull request of new feature code ready for DRM-Next as the staging area ahead of the upcoming Linux 7.2 kernel. This doesn't yet land the HDMI 2.1 enablement work that's finally been taking place but it is preparing for that with the FRL register headers now in place as part of this merge...
🔗 Source: https://www.phoronix.com/news/Linux-7.2-AMDGPU-FRL-Regs
#kernel#linux
📰Fragnesia Is Yet Another Local Privilege Escalation Flaw in Linux Kernel
Fragnesia is a new local privilege escalation flaw in the Linux kernel that may lead to local privilege escalation. Patch now!
🔗 Source: https://9to5linux.com/fragnesia-is-yet-another-local-privilege-escalation-flaw-in-linux-kernel
#kernel#linux
📰Fragnesia Made Public As Latest Linux Local Privilege Escalation Vulnerability
Following last week's disclosure of the Dirty Frag vulnerability for the Linux kernel, which only finished being patched up in mainline on Monday, Fragnesia is now public as a similar local privilege escalation (LPE) vulnerability...
🔗 Source: https://www.phoronix.com/news/Linux-Fragnesia
#kernel#linux
📰 Your Old Potato PC Might Game Better With This Linux Kernel Patch
A proposed scheduler update shows frame time improvements on aging hardware under heavy CPU load.
🔗 Source: https://feed.itsfoss.com/link/24361/17339878/linux-scheduler-patch-gaming-old-hardware
#kernel#linux
📰IBM s390 Is The Latest Architecture Seeing Rust Linux Kernel Support
An IBM engineer posted the first set of patches enabling the Rust programming language support for the Linux kernel to be built on the s390 architecture...
🔗 Source: https://www.phoronix.com/news/IBM-s390-Linux-Kernel-Rust
#kernel#linux