TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #411 · 9 фев.

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

Резултати

Пронајдени 1 слични објави

Пребарај: #winboat

当前筛选 #winboat清除筛选

👥WinBoat | 在 Linux 上原生运行 Windows 应用的开源工具 WinBoat 让你无需频繁切换系统,就能在 Linux 桌面直接运行 Windows 应用。它通过在 Docker 中运行 Windows 虚拟机,并与 Linux 桌面环境整合,实现 Windows 应用以 原生窗口 形式显示,还能 共享文件系统,让两边的工作无缝衔接 工具提供 自动化安装流程,支持运行任意 Windows 应用,甚至可切换到完整的 Windows 桌面。只需保证 Linux 开启 KVM 虚拟化 并有 4GB 内存以上,即可从发布页面下载 AppImage 轻松安装,马上体验跨系统的丝滑办公体验 🚀在线官网 · 👩‍💻Github 标签:#WinBoat#Linux#Windows系统#Windows应用#Docker 🗓@xiuerSearch 搜索历史资源 ✈️频道 | 💬群聊 | 📱中文包