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
群组介绍:
就是发我生活中遇到的比较好用的软件啊,教程啊之类的,部分含有色情内容,慎入哈。几乎每个消息都有Tag,下面会标注一下,其中 #sex 就是包含色情内容。
A
#安卓手机软件#AI#AV#Ayugram#apkcombo#阿里云盘#ASMR
B
#本子#百度网盘#哔哩哔哩#Bandizip#哔咔#比特彗星#bot#bybit
C
#磁力#插件#clash#测速
D
#第三方TG#代理软件#discord#第一版主#电报小tips
E
#Ehentai#emby
F
#flclash#翻墙#flyy
H
#Hanime1#汉化链接#汉化#黑盒闪搜#hd2a#黄油
I
#iwara
G
#规则#隔空投送
J
#机器人#脚本#解压软件#禁忌书屋#禁漫天堂#解压软件#机场#剪映国际版#解压#禁止转发的频道
K
#kemono#夸克网盘#可拓浏览器#k-lite
L
#浏览器#里番#论坛#洛雪
M
#漫画#mod#MMD#music#Meget
N
#nagramX#nhentai#nikke#奈飞#男娘#南+
O
#onlyfans#office
P
#PDF#pikpak#picacomic#pixiv#PerfectViewer#pixez#piliplus
Q
#QQ
S
#神器#sex#搜图机器人#私有频道#绅士漫画#搜狗输入法
T
#TG群#图片查看器#telegram#推特#twitter#tdl#TG小知识#TG大会员#梯子#贴纸
W
#win软件#外挂
X
#小说#X#小火箭#写真
Y
#阅读#油猴脚本#原神#益达#音乐#油管#youtube#游戏#影视
Z
#主题#资源论坛#中文#zachiver#资源管理器#正经漫画
*
#360 #64gram