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
베센트, Anthropic의 새로운 AI 관련 논의를 위해 은행 CEO들을 긴급 소집 - BBG
- 美 재무장관 베센트와 연방준비제도 의장 파월은 Anthropic의 최신 인공지능 모델이 더 높은 수준의 사이버 위험 시대를 초래할 수 있다는 우려와 관련하여 월가 주요 은행 경영진들을 긴급 회의에 소집.
- 해당 회의는 Anthropic의 Mythos가 제기하는 잠재적 미래 위험에 대해 은행들이 인지하고, 자사 시스템을 방어하기 위한 대비책을 마련하고 있는지 확인하기 위한 목적이었다고, 관련 사안에 정통한 인사들이 밝혔음.
- 규제 당국은 새로운 유형의 사이버 공격 가능성을 금융 산업이 직면한 가장 큰 위험 중 하나로 보고 있으며, Anthropic의 Mythos는 주요 운영체제(OS)와 웹 브라우저에서 취약점을 식별하고 이를 악용할 수 있는 보다 강력한 시스템으로 평가되고 있음.
※ 위에 올린 Mythos의 영향력에 대한 경각심이 확대
#INDEX