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
🚘 Cybercab announced: Elon Musk’s robotaxi is finally here
📍 Tesla boss Elon Musk has unveiled the firm's long-awaited robotaxi, the Cybercab, at the Warner Bros Studios in Burbank, California.
🚕 The robotaxi is a purpose-built autonomous vehicle, lacking a steering wheel or pedals, meaning it will need approval from regulators before going into production. The design was futuristic, with doors that open upward like butterfly wings and a small cabin with only enough space for two passengers. There was no steering wheel or pedals, nor was there a plug — Musk said the vehicle charges inductively to regain power wirelessly.
🚐 In a surprise, the company also revealed a "robovan," a self-driving van capable of carrying up to 20 passengers or being configured for cargo purposes.
🪙 Musk said that autonomous cars are expected to be 10–20 times safer than human-driven vehicles and could cost as little as 20 cents per mile, compared to the $1 per mile for city buses.
@CarsNews
#Tesla#driverless
New 🚘 electric cars will get Chinese autopilot
It will be developed by startup Momenta and will debut on the CLA electric sedan. The hardware will be based on Nvidia's Orin X chip.
The all-electric CLA will be equipped with a high-level intelligent driving system that does not rely on high-definition maps. This advanced system will provide navigation in the city, and mass production of the electric car is scheduled for April 2025.
Mercedes-Benz is one of Momenta's investors, along with GM and SAIC.
@CarsNews
#Mercedes#EV#driverless
🚕Waymo robotaxis are back at the center of a scandal
📍 This time, the vehicles caused chaos on the streets of San Francisco.
🚥 The autonomous taxis use the traffic-light system for navigation, so when it goes down, route planning breaks as well.
⛔ For several hours, Waymo cars stood on the roads like bricks, blocking other drivers from getting through.
Is rise of the the machines beginning?
#driverless#incidents@Car_News
😰Three Waymo robotaxis caused a “standoff” and blocked a street in San Francisco
📰 In the northern part of San Francisco, three Waymo autonomous taxis got stuck on a narrow street, completely blocking traffic. Two cars lightly collided while trying to maneuver, after which both went into emergency mode, and the third stopped right in front of them, creating a full traffic jam.
😤 Because of this, residents couldn’t leave their driveways and had to wait for company engineers to intervene and resolve the situation. All vehicles were empty — no passengers were inside.
💬 Waymo commented on the incident, calling it a “learning moment” for improving their autonomous driving system.
#driverless#incidents@Car_News