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
📰Instant View for Telegram Browser
In 2016, Telegram launched the Instant View standard — which automatically optimizes articles into perfectly formatted pages for your device with zero load times. This feature works for thousands of the most popular sites.
Telegram's in-app browser can now convert any article you are viewing into a more readable, lightweight layout.
To change a page to Instant View format, open the browser menu and select Show Instant View.
#Browser
👉The TG Times
📰In-App Browser
In the latest Beta version of Telegram for Android, you can visit web pages using the in-app browser without having to leave Telegram.
#Browser
👉The TG Times
Nanobrowser
Nanobrowser is an open-source AI web automation tool that runs in your browser. A free alternative to OpenAI Operator with flexible LLM options and multi-agent system.
🔗 Links:
- Add it to your browser (Only Edge and Chrome)
- Demo video
- Features
- Source code
Organization: Nanobrowser
❤️ Support the Project
If this project makes your life easier, here are a few quick ways to show some love:
⭐ Star the repo/app
☕ Buy a coffee for the developer
🛠 Contribute code, issues, or pull-requests
🏷 Tags: #AI#Browser#Extension
🔤OSINT-браузер на базе OPERA Mobile
Я помню, что в предыдущих постах хвалил браузер Venator OSINT, который активно развивался (до определенной поры) и даже приобрел две дополнительный сборки: Venator Red — для исследования даркнета и Venator Security — версия с повышенным упором на безопасность.
Однако проект не обновляли уже больше года, и это вынудило меня искать альтернативные решения. Так я пришел к мысли о создании собственной версии OSINT-браузера. В качестве основы для него я выбрал портативную версию OPERA, которую можно было бы носить с собой на флешке.
OPERA имеет возможность добавления расширений, в том числе нейросетей, а также обладает достаточной приватностью. Интерфейс более чем современный. Оставалось импортировать в него свою подборку из 1700+ полезных ресурсов, а также разбить их по темам исследований. Результат превзошел ожидания.
P.S. Впрочем, для сторонников иных браузеров, осталась возможность импорта моей подборки источников, также доступных по ссылке выше.
🍪Поддержать канал
📱НАШИ КОНТАКТЫ
#⃣#OSINT#OPERA#BROWSER