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
🚀 Binance Alpha Opens Mystery Box Airdrop Featuring AOP, REKT, and CLO
Key TakeawaysBinance launches Alpha Mystery Box airdrop.Reward pool includes AOP, REKT, and CLO tokens.Users need ≥240 Alpha points to claim; costs 15 points per claim.Rewards vary by tier and are distributed first-come, first-served.Binance Alpha Mystery Box Airdrop Goes LiveBinance Wallet has opened its Alpha Mystery Box airdrop, with rewards drawn from three projects:Ark of Panda (AOP)Rekt (REKT)Yei Finance (CLO)Eligible users can claim the airdrop via the Alpha event page.Eligibility and Claim RequirementsTo participate:Users must hold at least 240 Alpha pointsEach claim consumes 15 Alpha pointsEach user can claim onceRewards must be confirmed within 24 hours, or eligibility will be forfeited.Reward Structure and DistributionParticipants are randomly assigned to different reward tiers, receiving one of the following:AOP: 715 / 860 / 2860 tokensREKT: 192,307,700 / 230,769,230 / 769,230,770 tokensCLO: 335 / 400 / 1335 tokensAll rewards are distributed on a first-come, first-served basis.
#Binance#AlphaMysteryBox#Airdrop#AOP#REKT#CLO#AlphaPoints#Crypto#Rewards#YeiFinance#ArkOfPanda#CryptoAirdrop#BinanceWallet
📍 List of abbreviations commonly used in cryptocurrency trading:
#ALTCOIN = Alternate cryptocurrency except bitcoin
#SHITCOIN = A coin with no potential value or use
#BEAR | #BEARISH = Negative price movement
#BULL | #BULLISH = Positive price movement
#LONG = Margin buy position
#SHORT = Margin sell position
#BTFD = Buy The Fucking Dip
#DILDO = Long green or red candles 😆
#DYOR = Do Your Own Research
#FA = Fundamental Analysis
#TA = Technical Analysis
#FOMO = Fear Of Missing Out
#JOMO = Joy Of Missing Out
#FUD = Fear Uncertainty & Doubt
#HODL = Hold a position
#MCAP = Market Capitalization
#MOON = Continuous upward movement of price
#OTC = Over The Counter
#PUMP = Upward price movement
#DUMP = To sell off a coin
#REKT = When you have a bad loss
#WHALE = Very wealthy trader/Market mover
#AMA = Ask me anything
#ATH = All Time High
#ATL = All Time Low
#DLT = Distributed ledger technology
#IMO = In My Opinion
#LAMBO = Lambo is symbol that becomes an elusive goal for most investors
#NOOB = A person who is inexperienced
#SAFU = Secure Asset Funds for Users
#SHILL = Holder of altcoin who just wants to promote it for his own benefit
✅@ElfCryptoVIP