targo-frontend/env.sh

36 lines
1.3 KiB
Bash

#!/usr/bin/env sh
# ================================================================================
# File: env.sh
# Description: Replaces environment variables in asset files.
# Usage: Run this script in your terminal, ensuring APP_PREFIX and ASSET_DIRS are set.
# ================================================================================
# Set the exit flag to exit immediately if any command fails
set -e
# Check if APP_PREFIX is set
: "${APP_PREFIX:?APP_PREFIX must be set (e.g. APP_PREFIX='APP_PREFIX_')}"
# Check if ASSET_DIRS is set
: "${ASSET_DIR:?Must set ASSET_DIR to one path}"
# Check if the directory exists
if [ ! -d "$ASSET_DIR" ]; then
# If not, display a warning message and skip to the next iteration
echo "Warning: directory '$ASSET_DIR' not found, skipping."
continue
fi
# Display the current directory being scanned
echo "Scanning directory: $ASSET_DIR"
# Iterate through each environment variable that starts with APP_PREFIX
env | grep "^${APP_PREFIX}" | while IFS='=' read -r key value; do
# Display the variable being replaced
echo " • Replacing ${key}${value}"
# Use find and sed to replace the variable in all files within the directory
find "$ASSET_DIR" -type f \
-exec sed -i "s|${key}|${value}|g" {} +
done