@crynet · Post #497 · 10.12.2018 г., 06:27
Création d'un cheval en verre soufflé 🇬🇧 Glassblower effortlessly makes an Intricate Horse @Crynet_Fr#Crynet
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
Пребарај: #crynet
@crynet · Post #497 · 10.12.2018 г., 06:27
Création d'un cheval en verre soufflé 🇬🇧 Glassblower effortlessly makes an Intricate Horse @Crynet_Fr#Crynet
Hashtags
@crynet · Post #496 · 05.10.2018 г., 14:33
La réaction de Landolt 🇬🇧Iodine Clock Reaction #Crynet@Crynet_fr
Hashtags
@crynet · Post #493 · 01.08.2018 г., 15:29
🇫🇷 Propagation de l'encre sur la paume d'une main. 🇬🇧 High definition close up of ink flowing across the palm of a hand. @Crynet_Fr#Crynet
Hashtags
@crynet · Post #451 · 19.12.2016 г., 14:29
https://vimeo.com/191768999 Ammonium chloride crystallization process captured with a microscope #crynet@crynet
Hashtags
@crynet · Post #450 · 19.12.2016 г., 14:25
https://vimeo.com/195613867 #crynet@crynet
Hashtags
@crynet · Post #447 · 11.10.2016 г., 07:28
New opportunities through science! #crynet@crynet
Hashtags
@crynet · Post #446 · 02.10.2016 г., 17:41
This is how silencer works #crynet@crynet
Hashtags
@crynet · Post #445 · 19.08.2016 г., 08:39
HE rocket propelled grenade #crynet@crynet
Hashtags
@crynet · Post #444 · 03.08.2016 г., 18:32
How pills works inside the body #crynet@crynet
Hashtags
@crynet · Post #443 · 26.07.2016 г., 17:15
Robot bird first flight @crynet#crynet
Hashtags
@crynet · Post #442 · 13.07.2016 г., 08:31
This is How earth revolves around the sun. #crynet@crynet
Hashtags
@crynet · Post #440 · 26.06.2016 г., 11:36
Aluminum and iodine #crynet@crynet
Hashtags