diff --git a/update.sh b/update.sh index fb27ed7..03c9108 100644 --- a/update.sh +++ b/update.sh @@ -112,21 +112,40 @@ complete -F _autopost_completion postauto EOF # Vérifier si le code est déjà présent dans le fichier bashrc -echo "Modification de la configuration de complétion dans $BASHRC_FILE..." +echo "Vérification et mise à jour de la configuration de complétion dans $BASHRC_FILE..." + if grep -q "$DEBUT_MARKER" "$BASHRC_FILE"; then - # Faire une sauvegarde de sécurité du fichier .bashrc - cp "$BASHRC_FILE" "${BASHRC_FILE}.bak" - echo "Sauvegarde réalisée dans ${BASHRC_FILE}.bak" - - # Supprimer le bloc de code entre les marqueurs (inclusifs) - sed -i "/$DEBUT_MARKER/,/$FIN_MARKER/d" "$BASHRC_FILE" + # Extraire l'ancien bloc + OLD_COMPLETION=$(sed -n "/$DEBUT_MARKER/,/$FIN_MARKER/p" "$BASHRC_FILE") + + # Comparer avec la nouvelle version + if [ "$OLD_COMPLETION" != "$COMPLETION_CODE" ]; then + echo "Mise à jour nécessaire, modification du bloc de complétion..." + + # Faire une sauvegarde de sécurité du fichier .bashrc + cp "$BASHRC_FILE" "${BASHRC_FILE}.bak" + echo "Sauvegarde réalisée dans ${BASHRC_FILE}.bak" + + # Supprimer l'ancien bloc + sed -i "/$DEBUT_MARKER/,/$FIN_MARKER/d" "$BASHRC_FILE" + + # Ajouter une ligne vide pour séparer (optionnel) + echo "" >> "$BASHRC_FILE" + + # Ajouter le nouveau code de complétion + echo "$COMPLETION_CODE" >> "$BASHRC_FILE" + echo "Mise à jour effectuée." + else + echo "Aucune modification nécessaire, le bloc est déjà à jour." + fi +else + # Ajouter le bloc si absent + echo "Ajout du bloc de complétion..." + echo "" >> "$BASHRC_FILE" + echo "$COMPLETION_CODE" >> "$BASHRC_FILE" + echo "Ajout terminé." fi -# Ajouter une ligne vide pour séparer (optionnel) -echo "" >> "$BASHRC_FILE" -# Ajouter le code de complétion -echo "$COMPLETION_CODE" >> "$BASHRC_FILE" -echo "Mise à jour effectuée." echo "Suppression du script après exécution..." rm -- "$0" \ No newline at end of file