From 5e643dc79264d12316c19fc5440b865f6929f01d Mon Sep 17 00:00:00 2001 From: cedricAbonnel Date: Sun, 19 Nov 2023 18:59:02 +0100 Subject: [PATCH] =?UTF-8?q?Ajout=20de=20la=20fonction=20du=20suppression?= =?UTF-8?q?=20des=20fichiers=20d=C3=A9ploy=C3=A9s=20sur=20la=20machine.=20?= =?UTF-8?q?Process=20complet.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- install.sh | 23 ++++++++++++----------- uninstall.sh | 21 +++++++++++++++++++++ 2 files changed, 33 insertions(+), 11 deletions(-) create mode 100755 uninstall.sh diff --git a/install.sh b/install.sh index d5a5155..b29dbae 100755 --- a/install.sh +++ b/install.sh @@ -33,8 +33,9 @@ create_dir() { add_uninstall() { ## Create or update uninstall script - uninstall_list=~/.config/$(basename "${0}")_uninstall-list - test -f "${uninstall_list}" || touch "${uninstall_list)" + + uninstall_list=$HOME/.config/a5l_scripts-bash_uninstall-list + test -f "${uninstall_list}" || touch "${uninstall_list}" local fichier_a_supprimer="$1" @@ -51,7 +52,7 @@ log "Debut du script" # S'assurer que le répertoire de destination existe, sinon, le créer -create_dir ${log_dir} +create_dir "${log_dir}" log "Rafraichissement des listes de fichiers" @@ -88,10 +89,10 @@ if [ -e "$file_local_desc" ]; then log " Copie des fichiers listés dans $file_local_desc" # Copier les fichiers en supprimant les extensions - for file in "$fileslist_local"; do - cp -v "$source_dir/$file" "$destination_dir/" || error "Impossible de fichier $source_dir/$file vers $destination_dir/" + for file in $fileslist_local; do + cp -v "$source_dir/$file" "$destination_dir/" || error "Impossible de copier $source_dir/$file vers $destination_dir/" log " Copie de $source_dir/$file vers $destination_dir/." - echo "$destination_dir/$file" > "$uninstall_list" + add_uninstall "$destination_dir/$file" done else @@ -141,10 +142,10 @@ if [ -e "$file_local_desc" ]; then log " Copie des fichiers listés dans $file_local_desc" # Copier les fichiers en supprimant les extensions - for file in "$fileslist_local"; do + for file in $fileslist_local; do cp -v "$source_dir/$file" "$destination_dir/" || error "Impossible de fichier $source_dir/$file vers $destination_dir/" log " Copie de $source_dir/$file vers $destination_dir/" - echo "$destination_dir/$file" > "$uninstall_list" + add_uninstall "$destination_dir/$file" done else @@ -195,15 +196,15 @@ if [ -e "$file_local_desc" ]; then log " Copie des fichiers" # Copier les fichiers en supprimant les extensions - for file in "$fileslist_local"; do + for file in $fileslist_local; do new_name="${file%.*}" # Supprimer l'extension cp -v "$source_dir/$file" "$destination_dir/$new_name" || error "Impossible de fichier $source_dir/$file vers $destination_dir/$new_nam" log " Copie de $source_dir/$file vers $destination_dir/$new_name" - echo "$destination_dir/$new_name" > "$uninstall_list" + add_uninstall "$destination_dir/$new_name" done else - error "Le fichier '$file_local_desc' n'existe pas. Votre dépôt Git local n'est pas complet ou quelque chose s'est mal passé." + error "Le fichier $file_local_desc n'existe pas. Votre dépôt Git local n'est pas complet ou quelque chose s'est mal passé." fi # Affiche un message de confirmation diff --git a/uninstall.sh b/uninstall.sh new file mode 100755 index 0000000..2146e04 --- /dev/null +++ b/uninstall.sh @@ -0,0 +1,21 @@ +#!/bin/bash + +# Chemin du fichier uninstall-list +uninstall_list_file=$HOME/.config/a5l_scripts-bash_uninstall-list + +# Vérifie si le fichier uninstall-list existe +if [ -e $uninstall_list_file ]; then + # Parcourt le fichier ligne par ligne + while IFS= read -r file; do + if [ -e "$file" ]; then + # Supprime le fichier + rm "$file" + echo "Fichier supprimé : $file" + else + echo "Fichier introuvable : $file" + fi + done < "$uninstall_list_file" +else + echo "Le fichier $uninstall_list_file n'existe pas." +fi +