Correction de bug, fichier non supprimés

Correction d'un but faisant que certains fichiers n'étaient pas
supprimés correctement si un espace était présent en début de ligne lors
de leur déclaration dans le fichier ".identities-loaded.sh".

Afin de les rendre plus sécurisées et robustes aux caractères spéciaux
et à la présence d'espacements, les détections des fichiers générés par
le script pour le processus de suppression utilisent des guillemets
simples, faisant que tout caractère est interprété de façon littérale
par la fonction.

De ce fait :
```bash
rm -rf ' /home/secrets'
```
n'est pas équivalent à :
```bash
rm -rf '/home/secrets'
```
This commit is contained in:
Elden Ivanouski 2025-11-10 08:21:23 +01:00
parent f86261649c
commit 9662cff696

View File

@ -7,7 +7,7 @@ identities_create() {
Inception_Detect=0 Inception_Detect=0
if [ -z "${BW_Session}" ] || [ "${#BW_Session}" -lt 10 ]; then if [ -z "${BW_Session}" ] || [ "${#BW_Session}" -lt 10 ]; then
Local_Version="2.2.4" Local_Version="2.2.5"
Latest_Version=$(curl -s "https://gitea.cloudyfy.fr/Siphonight/bw-cli_autologger/src/branch/main/bw_cli_autolog.sh" | grep -m1 "Local_Version" | cut -d ';' -f 2 | cut -d '&' -f 1) Latest_Version=$(curl -s "https://gitea.cloudyfy.fr/Siphonight/bw-cli_autologger/src/branch/main/bw_cli_autolog.sh" | grep -m1 "Local_Version" | cut -d ';' -f 2 | cut -d '&' -f 1)
if [ "${Local_Version}" != "${Latest_Version}" ]; then if [ "${Local_Version}" != "${Latest_Version}" ]; then
tput setaf 1 tput setaf 1
@ -72,7 +72,7 @@ identities_destroy() {
pkill ssh-agent pkill ssh-agent
echo "Suppression des fichiers générés..." echo "Suppression des fichiers générés..."
# shellcheck disable=SC2016 # shellcheck disable=SC2016
grep -in "printf.*\"\%s\".*\"\$BW_List\"" "${HOME}"/.identities-loaded.sh | grep ">" | cut -d ">" -f 2 | sed -e "s,\~,${HOME},g ; s,\"\$HOME\",${HOME},g" | while IFS= read -r each; do grep -in "printf.*\"\%s\".*\"\$BW_List\"" "${HOME}"/.identities-loaded.sh | grep ">" | cut -d ">" -f 2 | sed -e "s,\~,${HOME},g ; s,\"\$HOME\",${HOME},g ; s,^\ ,,g" | while IFS= read -r each; do
rm -rf "${each}" rm -rf "${each}"
done done
unset BW_Session unset BW_Session