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
Sponsored
Navigating #Ethiopia’s #PVoC Requirements: TÜV Rheinland Supports Exporters for Smooth Market Access
As Ethiopia continues strengthening its quality infrastructure and import control framework, exporters shipping regulated products to the country are reminded of the importance of complying with the Pre-Export Verification of Conformity (PVoC) program prior to shipment.
The PVoC program, overseen by the Ethiopian Conformity Assessment Enterprise under the Ministry of Trade and Regional Integration (#MoTRI), requires regulated products to undergo conformity assessment procedures before export to Ethiopia.
A Certificate of Conformity (#CoC) must be issued to ensure smooth customs clearance and prevent delays at the port of entry.
For exporters, understanding the applicable certification route, documentation requirements, and product scope is critical to avoiding unnecessary costs, shipment holds, or re-exports.
For more click the link: https://addisstandard.com/?p=55617
Sponsored post
#TÜV_Rheinland Further Strengthens Role in PVoC Sector, Becoming a Strategic Authorized Body for Inspection and Certification under ECAE - #MOTRI
Agreement signed on 3rd December 2025 strengthens safe, compliant market access to Ethiopia
Addis Abeba, 3rd December 2025 TÜV Rheinland announced it has signed a new contract with the #Ethiopian Conformity Assessment Enterprise (#ECAE), under the Ministry of Trade and Regional Integration (#MoTRI), authorizing TÜV Rheinland to conduct inspections, testing (where applicable), and issue Certificates of Conformity (#CoC) for regulated products exported to Ethiopia under the country’s Pre-Export Verification of Conformity (#PVoC) program.
The PVoC framework helps protect consumers and the environment from unsafe or substandard imports and streamlines customs clearance by ensuring regulated products comply with Ethiopia’s national standards before shipment.
“This partnership reflects a shared commitment to safety, quality, and fair trade,” said Mr. Fares Naouri, Senior Vice President Government Inspections and International Trade (#GIIT) - TÜV Rheinland. “With our global laboratory network and experienced technical teams, exporters and importers alike can rely on efficient and transparent conformity assessment services.”
Under the agreement, TÜV Rheinland is authorized to assess technical documentation, perform consignment & factory inspections, and conduct laboratory tests. The certificate of Conformity (COC) is issued as a confirmation of successful completion of the compliance verification procedure.
https://addisstandard.com/?p=54647