14 lines
416 B
Bash
14 lines
416 B
Bash
SOURCE_FILE=$(realpath -m "$1")
|
|
TARGET_FILE=$(realpath -m "$2")
|
|
|
|
if [[ -f "${TARGET_FILE}" ]]; then
|
|
TEMP_FILE=$(mktemp)
|
|
awk -F '=' 'NR==FNR{a[$1]=$0;next}($1 in a){$0=a[$1]}1' "${SOURCE_FILE}" "${TARGET_FILE}" > "${TEMP_FILE}"
|
|
mv "${TEMP_FILE}" "${TARGET_FILE}"
|
|
else
|
|
mkdir -p "$(dirname "${TARGET_FILE}")"
|
|
cp "${SOURCE_FILE}" "${TARGET_FILE}"
|
|
fi
|
|
|
|
echo "Configuration file ${TARGET_FILE} has been updated."
|