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
📰 Many Intel & AMD Laptop Improvements Merged For Linux 7.1
As usual in recent years, there were many x86 platform driver changes merged this cycle for benefiting modern AMD Ryzen and Intel Core (Ultra) laptops. A variety of new features and laptop hardware support additions were merged for Linux 7.1...
🔗 Source: https://www.phoronix.com/news/Linux-7.1-x86-Platform-Drivers
#amd#intel#linux
📰Notable Intel & AMD CPU Changes Merged For Linux 7.0-rc3
This week's batch of "x86/urgent" patches that were merged overnight for Linux 7.0 contain some fixes and other adjustments worth highlighting for both AMD and Intel...
🔗 Source: https://www.phoronix.com/news/Intel-AMD-x86-Linux-7.0-rc3
#intel#linux#amd
📰 Turbostat With Linux 7.0 Can Report New L2 Cache Statistics
The Turbostat command-line utility for reporting processor frequency and idle statistics along with other useful information for AMD and Intel CPUs can now report some L2 cache stats for recent Intel CPUs beginning with Linux 7.0...
🔗 Source: https://www.phoronix.com/news/Turbostat-Linux-7.0
#linux#intel#amd
EU OS: A European Proposal for a Public Sector Linux Desktop (The New Stack)
欧盟正在推进一个名为EU OS的开源项目,旨在为公共部门打造基于Linux的桌面系统。该项目并非全新开发的Linux发行版,而是在Fedora的不可变KDE Plasma版本(Kinoite)基础上构建的概念验证。
EU OS采用分层定制方案,提供一个标准化的Linux基础平台,各国、各地区或不同部门可根据需求进行二次定制。这种设计使其能够灵活适应欧洲公共部门的多样化需求。
[阅读原文](https://thenewstack.io/eu-os-a-european-proposal-for-a-public-sector-linux-desktop/)
#Linux#开源#欧盟#公共部门#桌面系统
#AIGC
Read more
Заставляем пользователя Linux сменить пароль при следующем входе в систему
По соображениям безопасности вам может понадобиться заставить пользователя изменить пароль при следующем входе в систему.
Как же это сделать?
Есть несколько способов сделать это. Сегодняшняя заметка расскажет о нескольких простых методах.
https://telegra.ph/Zastavlyaem-polzovatelya-Linux-smenit-parol-pri-sleduyushchem-vhode-v-sistemu-03-04
#ит_заметки#linux#shell#chage#passwd
SUSE may be for sale, again
据路透社报道,私募股权公司 EQT 正考虑出售其持有的开源企业软件公司 SUSE。目前 EQT 已聘请投资银行 Arma Partners 接触潜在买家,但相关讨论尚处早期阶段,交易能否达成尚不确定。
SUSE 近年来几经易手:2018 年被 EQT 收购,2021 年在法兰克福证券交易所上市,随后又在 2023 年 8 月被 EQT 再次私有化。
原文链接:https://lwn.net/Articles/1062316/
#Linux#企业软件#并购#开源商业
#AIGC
Read more
WhisperTux
Simple #voice#dictation application for #Linux. Uses whisper.cpp for offline speech-to-text transcription. No fancy GPUs are required although whisper.cpp is capable of using them if available. Once your speech is transcribed, it is sent to a ydotool daemon that will write the text into the focused application.
Features
Local speech-to-text processing via whisper.cpp (no cloud dependencies)
No expensive hardware required (works well on a plain x86 laptop with AVX instructions)
Global keyboard shortcuts for system-wide operation
Automatic text injection into focused applications
Configurable whisper models and shortcuts
https://github.com/cjams/whispertux
#assistant#speech#stt
📰 Idea Raised For Nicer DRM Panic Screen Integration On Fedora Linux
DRM Panic is the Linux kernel infrastructure now supported by most of the Direct Rendering Manager (DRM) kernel graphics/display drivers for being able to render a QR code kernel error message or similar when a kernel panic occurs to provide a cleaner interface should your system run into serious problems. An idea has been raised now within the Fedora Linux camp to provide an improved experience around this feature akin to Windows' "Blue Screen...
🔗 Source: https://www.phoronix.com/news/DRM-Panic-Nicer-Fedora-Idea
#linux#fedora#kernel
[$] Development tools: Sashiko, b4 review, and API specification
Linux 内核项目在开发工具方面采取了独特的方法,避免使用许多不适合其社区规模和协作方式的常用开发系统。也可以说,内核项目过去在工具上的投入不足,有时似乎倾向于用更困难的方式做事。然而,最近为内核开发工具投入的努力有所增加,并取得了一些有趣的成果。该领域的最新进展包括 Sashiko 代码审查系统、集成到 b4 工具中的补丁审查管理器,以及一个用于规范和验证内核 API 的新框架尝试。
原文链接:https://lwn.net/Articles/1063303/
#Linux#内核开发#开发工具#代码审查#API规范
#AIGC
Read more
📰 Shelly 2.2.4 Arch Linux GUI Package Manager Brings Smarter Fuzzy Search
Shelly 2.2.4 open-source graphical package manager for Arch Linux distributions is now available for download with various improvements. Here's what's new!
🔗 Source: https://9to5linux.com/shelly-2-2-4-arch-linux-gui-package-manager-brings-smarter-fuzzy-search
#arch#linux#opensource