Comme je l'avais déjà signalé dans un précédent article, l'habitude d'utiliser certains outils vient vite dès lors que ceux-ci facilitent l'usage quotidien. De fait, j'use et j'abuse de mon script mkbackup, y compris via Dolphin, le gestionnaire de fichiers de KDE.
Or, il y a quelques jours, je me retrouve à vouloir faire une copie d'un fichier de cette manière, et rien. Pas de copie, pas de d'indication d'erreur, juste une action lancée et aucun résultat. Et ce évidemment plusieurs fois de suite, car il est toujours de bon ton de penser que le problème est dû au système et que "ça doit marcher".
Après quelques instants, la conclusion s'impose : non, ça ne peut pas marcher, c'est cassé. Reste à trouver pourquoi. Je lance donc un autre script de commandes permettant d'analyser le même fichier avec l'antivirus ClamAV, et là tout fonctionne. La source est donc trouvée : le Service Menu utilisé par KDE pose souci.
Comparaison des deux codes, tests, relecture de documentation, ... Effectivement les choses qui ne sont pas gérées de la même façon. Et une nouvelle pièce du puzzle apparaît entre deux tentatives : il y a un espace dans le nom du répertoire où se situe le fichier. L'espace, séparateur traditionnel d'arguments sous les systèmes UNIX, est un caractère que je n'utilise pas, jamais, en aucune façon. Et là effectivement, il y a bien un espace. Et si je supprime ce vide, mon mkbackup tourne comme une horloge...
La mémoire revient et lors de la présentation du script à un collègue, la gestion de l'espace avait été mentionnée et la réponse était venue : "il suffit de ne pas en utiliser".
Force est de constater que ce caractère est utile. Une nouvelle mouture de mkbackup est donc disponible et gère l'espace. Autre changement également, la première copie est bien numérotée à un. Et le script d'intégration dans KDE reste le même.
Titre cité de l'oeuvre de Nicolas Boileau
publié le 15 novembre 2011