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
#Italia#Venezia
#Azione|RE Venezia nel direttivo Metropolitano di giovedì 26 marzo ha scelto di sostenere il candidato sindaco del cdx Simone #Venturini con il 95% dei voti favorevoli.
@OsservatorioItaliano
#Italia#Venezia#Comunali
Anche il #PLD|Liberali di Luigi #Marattin annuncia il sostegno al candidato sindaco del centrodestra Simone #Venturini.
La nota del partito sui social:
“A Venezia ci sono solo due candidature. Quella di centrosinistra e quella di centrodestra. Dopo settimane di interlocuzione, e avendo accettato, e inserito nel programma, le nostre priorità programmatiche, abbiamo deciso di sostenere Venturini”.
@Osservatorioitaliano
#Italia#Venezia#Comunali
Il Segretario di #Azione|RE Carlo #Calenda commenta su X il sostegno del suo partito al candidato del centrodestra Simone #Venturini (ind. di cdx) e il mancato accordo elettorale con #ORA|Liberisti:
“1) dovevamo fare un giro di incontri nazionali con ORA; 2) Boldrin ha deciso di candidarsi a Venezia senza dire nulla; 3) lo abbiamo appreso dai giornali insieme alla solita valangata di insulti ieri. 4) Azione non farà una lista alle elezioni a Venezia; 5) i due bravissimi under 30 che abbiamo lì hanno avuto totale libertà di scelta. Questo è. Dopodiché se si degnerà sentiremo Boldrin dopo che ci ha dato degli 'amici degli affaristi'. Ma questa non è politica, è una diretta YouTube.”
@Osservatorioitaliano
#Italia#Comunali#Veneto
Comunali di #Venezia, candidature ufficiali fin'ora:
📌 Simone #Venturini, sostenuto da #FdI, #Lega, #FI-#UdC, #PdV e #SVS (comprende #Azione e #CI)
📌 Andrea #Martella, sostenuto da #PD, #AVS, #VVP, #M5S, #TeA, #VèT, #VR (comprende #IV, #PiùE, #RI e #PSI) e #PRC
📌 Michele #Boldrin, sostenuto da #ORA
📌 Claudio #Vernier, sostenuto da #CV (comprende #Volt)
📌 Pierangelo #DelZotto, sostenuto da #PiV
📌 Giovanni Andrea #Martini, sostenuto da #TlCI, #LCcV e #VPL
@Osservatorioitaliano