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
🔒Are you worried about the safety of your digital assets?
That should be the least of your worries with Go! smartchain onboard
Dig deeper here 👇
https://gosmartchain.ai
Tokenization on Go! SmartChain AI. offers enhanced security features to keep your investments safe
In addition to that, your transactions is made permanent and transparent
And your digital assets safe from the risk of fraudulent activities
#Tokenization#BlockchainSecurity#GoSmartChain#DigitalAssets
-----------------
Join: 🐣X✉️Chat✉️News🤖Discord
Play: 🕹️TON App💻Web App
Info: 🖥Newsletter🌐Website🌐Blog
🌟 Revolutionize with RealFi by Go! SmartChain AI! 🌟
Here's a sneak peak into how Realfi is transforming communities with Go!👇
🔗https://goplatform.io/blog/introducing-realfi-transforming-communities-with-decentralized-ai
RealFi represents a significant leap in integrating AI, blockchain, and community-driven initiatives
With the ability to tokenize anything in seconds, RealFi makes the process simple, fun, and rewarding for you to participate and benefit.
Join Go! on this transformative journey.
#Realfi#Gosmartchain#AI#blockchain#tokenize
-------------------------
Join: 🐣X✉️Chat✉️News🤖Discord
Play: 🕹️TON App💻Web App
Info: 🖥Newsletter🌐Website🌐Blog
Every transaction tells a story.
Validated. Broadcast. Secured on Go! SmartChain.
This is how real-world value becomes digital — fast, transparent, and verified.
💡 Try it yourself: https://app.gosmartchain.ai
#GSMC#GoSmartChain#RWA#RealFi#Blockchain
🚀 Time to Check In, Go! SmartChain AI Community!
Check in now if you're yet to👇
🔗https://t.me/thegoprojectbot?start=twitter
Here's an another opportunity to increase your daily dose of engagement and rewards! 🎮💰
And once you're in
1. Click "Open App" to get started
2. Tap the Go! token to collect rewards
3. Complete your daily tasks and quests to earn GoXP
Most importantly,
Stay active and climb your way to the top. Your participation paves the way for you 💪
#CheckIn#EarnRewards#GoSmartChain#GoTonapp
-----------------
Join: 🐣X✉️Chat✉️News🤖Discord
Play: 🕹️TON App💻Web App
Info: 🖥Newsletter🌐Website🌐Blog
Owning real assets just got easier.
Buy, trade, and track tokenized assets directly with $GSMC in one seamless experience.
Real value. Real ownership. RealFi in motion.
🌐https://app.gosmartchain.ai
#GSMC#GoSmartChain#RWA#Tokenization#RealFi
🚀 Ready to build & secure the future of decentralized finance? Dive into a day in the life of a developer & validator on the Lysa Testnet! Learn how to create dApps, validate blocks, and earn rewards on Go! SmartChain AI. Explore more👇
👉https://tally.so/r/wQYoxl
#Blockchain#DeFi#RealFi#LysaTestnet#GoSmartChain#developers#validators#BlockchainGaming
-----------------
Join: 🐣X✉️Chat✉️News🤖Discord
Play: 🕹️TON App💻Web App
Info: 🖥Newsletter🌐Website🌐Blog