Files
nix/lib/runtime/merge/key-value.sh
2024-08-30 12:06:25 +03:00

20 lines
465 B
Bash

SOURCE_FILE=$(realpath -m "$1")
TARGET_FILE=$(realpath -m "$2")
mkdir -p "$(dirname "${TARGET_FILE}")"
TEMP_FILE=$(mktemp)
cat "${SOURCE_FILE}" > "${TEMP_FILE}"
if [[ -f "${TARGET_FILE}" ]]; then
while IFS='=' read -r key value; do
if ! grep -q "^${key}=" "${TEMP_FILE}"; then
echo "${key}=${value}" >> "${TEMP_FILE}"
fi
done < "${TARGET_FILE}"
fi
mv "${TEMP_FILE}" "${TARGET_FILE}"
echo "Configuration file ${TARGET_FILE} has been updated."