Ajout de la fonction du suppression des fichiers déployés sur la machine. Process complet.

This commit is contained in:
Cédric Abonnel 2023-11-19 18:59:02 +01:00
parent d901311f24
commit 5e643dc792
2 changed files with 33 additions and 11 deletions

View File

@ -33,8 +33,9 @@ create_dir() {
add_uninstall() { add_uninstall() {
## Create or update uninstall script ## 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" 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 # 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" 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" log " Copie des fichiers listés dans $file_local_desc"
# Copier les fichiers en supprimant les extensions # 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/" 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/." log " Copie de $source_dir/$file vers $destination_dir/."
echo "$destination_dir/$file" > "$uninstall_list" add_uninstall "$destination_dir/$file"
done done
else else
@ -141,10 +142,10 @@ if [ -e "$file_local_desc" ]; then
log " Copie des fichiers listés dans $file_local_desc" log " Copie des fichiers listés dans $file_local_desc"
# Copier les fichiers en supprimant les extensions # 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/" 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/" log " Copie de $source_dir/$file vers $destination_dir/"
echo "$destination_dir/$file" > "$uninstall_list" add_uninstall "$destination_dir/$file"
done done
else else
@ -195,15 +196,15 @@ if [ -e "$file_local_desc" ]; then
log " Copie des fichiers" log " Copie des fichiers"
# Copier les fichiers en supprimant les extensions # 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 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" 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" 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 done
else 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 fi
# Affiche un message de confirmation # Affiche un message de confirmation

21
uninstall.sh Executable file
View File

@ -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