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
📰 Aurora is the KDE side of Bluefin, and it might be the most polished Linux desktop right now
I'm a huge fan of Linux's KDE. It's my favorite desktop environment by far, and sometimes, simply learning that an OS uses KDE is enough of an excuse to give it a try. So, when I heard that the Bluefin distro had a KDE fork called Aurora, I knew I had to give it a try.
🔗 Source: https://www.xda-developers.com/aurora-is-the-kde-side-of-bluefin-and-it-might-be-the-most-polished-linux-desktop-right-now/
#distro#kde#linux
📰 Further expanded AMD HDMI 2.1 support is coming to Linux now with FRL and DSC
Good news for Linux gamers and the upcoming Steam Machine, as it appears the AMD GPU kernel drivers are expanding their HDMI 2.1 support even further.Read the full article on GamingOnLinux.
🔗 Source: https://www.gamingonlinux.com/2026/05/further-expanded-amd-hdmi-2-1-support-is-coming-to-linux-now-with-frl-and-dsc/
#amd#kernel#linux#steam
📰 Archinstall 4.2 Shifts to Wayland-First Profiles, Leaving X.Org Behind
by George WhittakerThe Arch Linux installer continues evolving alongside the broader Linux desktop ecosystem. With the release of Archinstall 4.2, a notable change has arrived: Wayland is now the default focus for graphical installation profiles, while traditional X.Org-based profiles have been removed or deprioritized.
🔗 Source: https://www.linuxjournal.com/content/archinstall-42-shifts-wayland-first-profiles-leaving-xorg-behind
#arch#linux#wayland
📰 Archinstall 4.2 Shifts to Wayland-First Profiles, Leaving X.Org Behind
by George WhittakerThe Arch Linux installer continues evolving alongside the broader Linux desktop ecosystem. With the release of Archinstall 4.2, a notable change has arrived: Wayland is now the default focus for graphical installation profiles, while traditional X.Org-based profiles have been removed or deprioritized.
🔗 Source: https://www.linuxjournal.com/content/archinstall-42-shifts-wayland-first-profiles-leaving-xorg-behind
#arch#linux#wayland
📰 Flatpak 1.17.7 To Track The Age Of Configurations For Providing Much Better Performance
Flatpak 1.17.7 is now available for continuing to advance open-source app sandboxing and distribution on the Linux desktop. Some interesting new features are in tow with this Flatpak update plus there is also an updated XDG-Desktop-Portal release too...
🔗 Source: https://www.phoronix.com/news/Flatpak-1.17.7-Released
#flatpak#linux#opensource
📰 Arch Linux Users Can Now Upgrade to GNOME 50
GNOME 50 is now available for Arch Linux users, bringing the latest desktop release to systems ready for upgrade.
🔗 Source: https://linuxiac.com/arch-linux-users-can-now-upgrade-to-gnome-50
#linux#arch#gnome
📰 Ubuntu 26.04 LTS Beta Is Out Now with Linux Kernel 7.0 and GNOME 50
Ubuntu 26.04 LTS operating system is now available for public beta testing with the Linux 7.0 kernel, Mesa 26.0 graphics stack, and GNOME 50 desktop environment.
🔗 Source: https://9to5linux.com/ubuntu-26-04-lts-beta-is-out-now-with-linux-kernel-7-0-and-gnome-50
#gnome#ubuntu#linux#kernel
📰CachyOS skipped the Open Gaming Collective, and gamers rewarded it by making it the top Linux distro on Steam
The Open Gaming Collective wants to make Linux gaming better, but CachyOS is proving you can do that just fine with no strings attached.
🔗 Source: https://www.xda-developers.com/cachyos-skipped-open-gaming-initiative-gamers-rewarded-making-top-linux-distro-steam/
#distro#linux#steam
📰 I switched to Linux for unconventional reasons, and now I can't go back
I’ve been a fan of the Linux ecosystem ever since I got a taste of it with the Raspberry Pi OS (or Buster, as it was called back then) on my RPi Zero ages ago. Since then, it has been a fun journey involving distro-hopping shenanigans and virtualization experiments. But unlike most folks, my reasons for going down the slippery slope of Linux flavors were more than just dissatisfaction with Windows and a desire to bring old devices back to life...
🔗 Source: https://www.xda-developers.com/i-switched-to-linux-for-unconventional-reasons/
#distro#linux#raspberry
📰 Don't install another Linux distro until you've tried an immutable one
Sometimes, developers get so engrossed with making the best app possible that some of the basics get left behind. I understand it; if you're doing something amazing and you're going full steam ahead, all the small quality-of-life features seem like minor tweaks compared to all the glorious new tools and features you want to add to your app.
🔗 Source: https://www.xda-developers.com/dont-install-another-linux-distro-until-youve-tried-an-immutable-one/
#linux#steam#distro