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
🎡 Supreme Spin is about to get even better! 🚀
A new update is coming with bigger rewards 🎁 and an exciting twist: soon, you can use $SING to spin and win! 💎
This is your moment to shine — hold your $SING tight and get ready to aim for the top! Massive prizes await those who are prepared. 🔥
Stay tuned for more details coming soon. Let the spinning madness begin! 🎉
👉#SingSingTycoon#SupremeSpin#SingSingSDK
🚨 Exciting News!🚨
🎉The 1st RUBY Halving event is COMING!
🗓Halving Date: TBA
RUBY plays a crucial role in the SingSing ecosystem. As we progress, our halving events will strategically decrease RUBY supply, rewarding early supporters of the project.
👉 What to expect:
1️⃣50% reduction in RUBY emissions (after Halving point).
2️⃣Increased scarcity, leading to potential value growth.
3️⃣Enhanced economic stability within the SingSing ecosystem.
Prepare for the change and maximize your RUBY holdings! 🌟
#RUBYHalving#SingSingSDK#Event
🎉 Supreme Spin is officially LIVE!
🔥 Get ready for massive rewards and a shot at winning TON right at your fingertips! 💎💰 Don’t miss out—spin now for a chance to grab these incredible prizes! 🎯
#SupremeSpin#TONRewards#SingSingSDK
🎤Announcement | Chat | X (Twitter) | Website | Game
We're thrilled to unveil our latest innovation that's set to revolutionize the Telegram mini-app ecosystem - SingSing SocialFi SDK.
🛠 Our Developer-Friendly SDK brings powerful social and financial features to developers and users alike with:
✅Seamlessly integrate SingSing's features into your Telegram mini-apps
✅Enhance user engagement and monetization opportunities
✅Leverage SingSing club system
✅Use SingSing payment system
🔒 Our SDK is currently being refined with our early partners to ensure a seamless experience. Stay tuned for the public release!
Read more and open treasure at: X Post
#SingSingSDK#TelegramMiniApps#Web3Gaming#SocialFi
🎉 Exciting Partnership Announcement
We're thrilled to introduce our first official partner for the SingSing SocialFi SDK: Cowtopia🐮!
Cowtopia, an innovative farming simulation game, will be the first to integrate our powerful SocialFi SDK. This collaboration marks a significant milestone as we prepare to revolutionize the Telegram mini-app ecosystem.
Stay tuned and see how Cowtopia will utilize our SDK to create an immersive and socially connected gaming experience.
Read more and open treasure at: X Post
#SingSingSDK#Cowtopia#TelegramGaming#SocialFi#FarmingSimulator#ComingSoon