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
Jesse Derry was taken to hospital as a precaution following his first-half substitution during today’s #PL game against Nottingham Forest.
Jesse is conscious, talking and undergoing precautionary checks. We wish him a speedy recovery and thank the medical staff for their swift response.
Steve Holland:
“Our last game, Bournemouth to Leeds, is a #PL record, I think, in terms of time between games.
“So the gap has been as big as you can have really. I think we felt it was important to get the whole group together again, and really focus on finishing the season well.
“I think this is the PERFECT venue for that, really.”
Steve Holland:
“I think the language we should be using as this club is to finish as CLOSE as we possibly can to the top [this season].
“I don’t know how possible that is, but that has to be the challenge always: to get as close as we possibly CAN to the top...” [MU]
Bruno Fernandes on matching Cristiano Ronaldo’s #PL POTM record:
“It’s always good company. We know when records are there, his name will always be around.
“It’s a HUGE honour and privilege to be close to him.” 🇵🇹❤️
[THREAD]
There are multiple Premier League games on Saturday, Sunday AND Monday. 🍿
Here are some stats you might see in GW35...
#PL | @CopyBetUKhttps://t.co/RnveqOETlK
RT @Squawka: [THREAD]
There's five Premier League games on a Sunday for the first time in 2023. 🍿
Here are some stats you might see… 👀
#PL | @CopyBetUKhttps://t.co/sMqfA3FUuS