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
DataBackup
An easy-to-use backup Libre application for Android, however your phone needs to be rooted , unless a ROM were to include it as a system app
Support for #multi-user/double backup: same backup/restore on multiple partitions!
Cloud: fully supports #Rclone, which can perform local mounting of network drives from various service providers.
100% data integrity: all data will be retained and there is no need to reconnect or download additional packages.
Complete: Split Apk, Arm32, Arm64, x86, x86_64, Android9+.
Fast: Support: tar lz4 zstd (default).
GitHub - XayahSuSu/Android-DataBackup: 数据备份 DataBackup for Android - https://github.com/XayahSuSuSu/Android-DataBackup
Reminder : to install it via F-Droid first add the Izzy repository to F-Droid ( settings - repositories/sources)
IzzyOnDroid F-Droid Repository -
https://apt.izzysoft.de/fdroid/
#Backup #Android
Rclone Remount
Remount cloud storage locally during boot via rclone & fusermount directly on your Android powered smart device.
Virtually limitless storage expansion with support for dozens of cloud providers including Dropbox, GDrive, OneDrive, SFTP & many more. Extremely useful for devices without physical storage expansion capabilities. Also great for streaming large media files without need for full caching. Binaries compiled using Termux.
Features:
Support for arm, arm64, & x86
Huge list of supported cloud storage providers
Apps with ability to specify paths can access /mnt/cloud/
Most file explorers work just fine (issue #9)
Mount points use names of remote(s) in rclone.conf
Specify custom rclone params for each remote via /sdcard/.rclone/.REMOTE.param
Access remotes via http://127.0.0.1:38762
Access remotes via ftp://127.0.0.1:38763
Mount bind to /sdcard/ (see issue #5)
Support for Work Profiles
https://github.com/Magisk-Modules-Repo/com.piyushgarg.rclone
#rclone#remount#cloud#alternatives
RCX
Android GUI for rclone. Manage files across many cloud services in a simple way under one interface.
https://x0b.github.io
https://f-droid.org/packages/io.github.x0b.rcx
https://github.com/x0b/rcx
@nogoolag
#rcx#rclone#cloud#alternatives