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