From 61d7230aadfdb8263a72e6894eed0a6b3bf9a44b Mon Sep 17 00:00:00 2001 From: root Date: Mon, 16 Mar 2026 05:19:56 +0000 Subject: [PATCH] =?UTF-8?q?f7hpb.sh:=20=D0=BF=D0=B5=D1=80=D0=B5=D0=B4?= =?UTF-8?q?=D0=B0=D1=87=D0=B0=20=D0=BF=D0=B5=D1=80=D0=B5=D0=BC=D0=B5=D0=BD?= =?UTF-8?q?=D0=BD=D1=8B=D1=85=20=D0=B0=D1=80=D0=B3=D1=83=D0=BC=D0=B5=D0=BD?= =?UTF-8?q?=D1=82=D0=B0=D0=BC=D0=B8=20KEY=3Dvalue?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- f7hpb.sh | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/f7hpb.sh b/f7hpb.sh index 6e3adfa..9e2f018 100644 --- a/f7hpb.sh +++ b/f7hpb.sh @@ -1,7 +1,7 @@ #!/bin/bash # Установка F7_HPB (signaling, конфиг, systemd). Запускается на сервере HPB. -# Использование: ./f7hpb.sh [/path/to/f7cloud-install.env] -# Переменные можно передать через env-файл или ввести в диалоге, если не заданы. +# Использование: ./f7hpb.sh [/path/to/f7cloud-install.env] [KEY=value ...] +# Переменные: из env-файла, из аргументов KEY=value (переопределяют файл), или ввод в диалоге. set -e ROLE="f7hpb" @@ -33,8 +33,19 @@ get_var_optional() { fi } -# Путь к env-файлу: аргумент скрипта или запрос +# Аргументы: 1-й — путь к env-файлу, остальные — KEY=value (переменные переопределяют env-файл) ENV_FILE="${1:-}" +shift 2>/dev/null || true +CLI_ARGS=("$@") + +# Применяем KEY=value из аргументов (чтобы ENV_FILE мог быть передан как ENV_FILE=path) +for arg in "${CLI_ARGS[@]}"; do + if [[ "$arg" == *=* ]]; then + export "$arg" + [[ "$arg" == ENV_FILE=* ]] && ENV_FILE="${arg#ENV_FILE=}" + fi +done + get_var ENV_FILE "Путь к файлу конфигурации (например /path/to/f7cloud-install.env)" if [ ! -f "$ENV_FILE" ]; then @@ -44,7 +55,12 @@ fi # shellcheck source=/dev/null set -a && source "$ENV_FILE" && set +a -# Переменные из env или диалог, если не переданы +# Аргументы KEY=value переопределяют переменные из env-файла +for arg in "${CLI_ARGS[@]}"; do + [[ "$arg" == *=* ]] && export "$arg" +done + +# Переменные из env/аргументов или диалог, если не заданы get_var HPB_HASHKEY "HPB hashkey" get_var HPB_BLOCKKEY "HPB blockkey" get_var HPB_INTERNAL_SECRET "HPB internal_secret"