utils/env-gen.sh
2024-07-27 04:15:43 +05:00

41 lines
1.5 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
# Проверка наличия первого параметра
if [ -z "$1" ]; then
echo "Использование: $0азвание_переменной> [значение]"
exit 1
fi
VARIABLE_NAME=$1
ENV_FILE="/data/secrets/$SERVER_DOMAIN/$SERVER_DOMAIN.env"
# Генерация случайного пароля из цифр и маленьких латинских букв длиной 20 символов
generate_random_password() {
#tr -dc 'a-z0-9' </dev/urandom | head -c 20
pwgen -s 20 1
}
# Если указан второй параметр, используем его в качестве значения переменной
if [ -n "$2" ]; then
VALUE=$2
else
VALUE=$(generate_random_password)
fi
# Создание .env файла, если он не существует
if [ ! -f "$ENV_FILE" ]; then
# Создание директорий, если они не существуют
mkdir -p "$(dirname "$ENV_FILE")"
touch "$ENV_FILE"
fi
# Обновление или добавление переменной в .env файл
if grep -q "^$VARIABLE_NAME=" "$ENV_FILE"; then
# Переменная существует, обновляем её значение
sed -i "s/^$VARIABLE_NAME=.*/$VARIABLE_NAME=$VALUE/" "$ENV_FILE"
else
# Переменная не существует, добавляем её в файл
echo "$VARIABLE_NAME=$VALUE" >> "$ENV_FILE"
fi
echo "Переменная $VARIABLE_NAME успешно обновлена/добавлена в $ENV_FILE"