20 lines
465 B
Bash
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."
|