Dans le cadre du script d'installation de l'IDE QB64 que j'ai écrit, j'ai, à la demande de l'utilisateur, la possibilité de céer un lanceur de QB64 depuis son bureau.
Et ce script est aussi destiné à désinstaller QB64.
La création de ce lanceur est faite par la série de commandes suivantes :
MYUSERNAME="fnux" ### ou votre nom d'utilisateur
DESKTOP_NAME="Desktop" ### ou le nom approprié de la langue utilisée
cp /opt/qb64/qb64.desktop "/home/$MYUSERNAME/DESKTOP_NAME/" ### jusque là, ça va, le starter est créé
chmod +x "/home/$MYUSERNAME/$DESKTOP_NAME/qb64.desktop" ### là ça coince
chown $MYUSERNAME:root /home/$MYUSERNAME/$DESKTOP_NAME/qb64.desktop ### et là aussi
Pour supprimer ce lanceur, je commence par rechercher s'il existe par et s'il est présent je fais simplement :
QB64_STARTER=$(find /home/$MYUSERNAME/$DESKTOP_NAME -type f name "qb64.desktop" | wc -l) ### là, le starter n'est pas détecté
if [ "$QB64_STARTER" != 0 ]
then
rm -R "/home/$MYUSERNAME/$DESKTOP_NAME/qb64.desktop" ### et là, ça ne fonctionne pas, le starter n'est pas supprimé.
fi
Cela se passe très bien en Anglais, Allemand, Espagnol, Français, Italien ou Russe dans la mesure ou le nom du dossier "Desktop" n'est traduit que par un seul mot comme par exemple en français "Bureau" ou en espagnol "Escritorio" ou encore en Allemand "Schreibtisch" etc.
Mais là où j'ai un problème est avec les langues dans les quelles le nom du bureau est traduit en plusieurs mots: exemple en portugais le mot "Desktop" est traduit par "Área de Trabalho".
En effet, lorsque je crée le lanceur, il est bien créé sur le bureau mais j'obtiens les messages suivants :
chmod: nao e possivel acessar '/home/fnux/Área' : Arquivo ou diretorio nao encontrado
chmod: nao e possivel acessar 'de' : Arquivo ou diretorio nao encontrado
chmod: nao e possivel acessar 'Trabalho/qb64.desktop' : Arquivo ou diretorio nao encontrado
chown: nao e possivel acessar '/home/fnux/Área' : Arquivo ou diretorio nao encontrado
chown: nao e possivel acessar 'de' : Arquivo ou diretorio nao encontrado
chown: nao e possivel acessar 'Trabalho/qb64.desktop' : Arquivo ou diretorio nao encontrado
Et lorsque je veux supprimer ce lanceur (et il est bien présent) j'obtiens les messages suivants:
find: "/home/fnux/Área ": Arquivo ou diretorio nao encontrado
find: "de": Arquivo ou diretorio nao encontrado
find: "Trabalho": Arquivo ou diretorio nao encontrado
Et le lanceur n'est pas supprimé alors qu'il est bien présent et qu'il a bien été détecté!
Manifestement, le nom "Área de Trabalho" est alors découpé en trois mots différents ce qui implique l'impossibilité des commandes chmod, chown et find de s'exécuter.
Que dois-je faire pour que ces 3 mots ne composent qu'un seul et unique mot ?
Merci d'avance de votre aide car je suis bien coincé.
Cordialement.
PS: ce script disponible en Anglais, Français, Allemand, Russe et Portugais est disponible ici : http://www.as2.com/qb64/index.html