@awesomeopensource · Post #155 · 08.08.2018 г., 08:40
AsteroidOS AsteroidOS是一个为智能手表设计的开放源代码操作系统。它可作为一些Android Wear设备固件的替代品。 Tags: #watch#operatingsystem 感谢 @NekoX 的投稿
Hashtags
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
Пребарај: #operatingsystem
@awesomeopensource · Post #155 · 08.08.2018 г., 08:40
AsteroidOS AsteroidOS是一个为智能手表设计的开放源代码操作系统。它可作为一些Android Wear设备固件的替代品。 Tags: #watch#operatingsystem 感谢 @NekoX 的投稿
Hashtags
@repo_science · Post #3695 · 07.11.2023 г., 04:00
#softskills#Linux#Development#OperatingSystem 🛠 Vim Masterclass - Learning Path This learning path covers the Vim text editor, covering a range of techniques and practices designed to get you up and running with Vim in no time! Each course within the learning path contains exercises that you can follow along with to ensure that you've understood the key concepts at a practical level. We also provide you with the resources necessary to get started straight away - all the materials used in this learning path can be downloaded here (Visit official page). ----- Main channel: @repo_science Coupons: @freecoupons_reposcience -----