2 points par GN⁺ 2024-06-24 | 2 commentaires | Partager sur WhatsApp

Comment éviter les conflits avec des commandes personnalisées

Problème

  • Risque de conflit de nom entre les scripts shell personnalisés et les commandes système
  • Risque accru sur les systèmes qui prennent en charge un grand nombre de commandes, comme Debian

Solution

  • Préfixer les commandes personnalisées par une virgule (,) pour les distinguer des commandes système
  • La virgule n’a pas de signification particulière dans les noms de fichiers, ce qui permet de l’utiliser en toute sécurité

Avantages

  • L’utilisation d’une virgule évite les conflits de commandes
  • L’autocomplétion avec la touche Tab permet de consulter facilement la liste des commandes personnalisées

Exemple

$ ,«tab»
,complete-scp    ,go-thpgp      ,range
,complete-ssh    ,gr            ,svn-store-password
,coreoff         ,hss           ,umount
,coreon          ,mount-thpgp   ,find
,mount-twt

Avis de GN⁺

  • Cette méthode permet d’éviter efficacement les conflits entre les commandes personnalisées et les commandes système.
  • Utiliser une virgule est une solution simple mais puissante, que même un ingénieur débutant peut adopter facilement.
  • Cette technique est particulièrement utile sur les systèmes qui utilisent un grand nombre de commandes.
  • Une autre approche possible consiste à ajouter un préfixe spécifique devant les commandes.
  • Cette méthode peut rendre la gestion des commandes plus structurée et plus efficace.

2 commentaires

 
GN⁺ 2024-06-24
Commentaires sur Hacker News
  • Le nom « comma_nds » est amusant. C’est une bonne idée, donc je pense l’essayer.
  • Au début, je pensais que ce ne serait pas terrible, mais j’aime particulièrement la partie où l’on liste les outils avec la touche Tab. Les collisions de namespace ont été rares récemment.
  • Les noms des scripts shell étaient courts et concis, donc ils risquaient d’entrer en conflit avec les commandes système. Mettre le répertoire bin au début de $PATH permet de résoudre le problème.
  • La touche , est aussi beaucoup utilisée dans Vim. Elle est souvent employée pour une raison similaire.
  • Je n’ai pas très bien compris le problème, mais l’idée d’avoir l’autocomplétion pour ses propres commandes est bonne.
  • J’utilise des commandes personnalisées courtes. Cela ne me dérange pas si elles entrent en conflit avec des commandes système. En cas de conflit, je définis un alias avec un autre nom.
  • Il est facile d’exécuter des scripts Python sous Windows, mais c’est difficile sous Linux. Linux est moins pratique parce qu’il n’a pas de concept de programme associé.
  • Pour éviter les conflits, on peut utiliser des noms d’exécutables longs et définir des alias courts. L’inconvénient est que la complétion par Tab devient peu pratique.
  • Dans la communauté des text expanders / remplacements de texte, les techniques commençant par une virgule sont aussi courantes.
  • Il y avait beaucoup d’exécutables dans ~/.local/bin dont je ne me souvenais pas. Des noms de scripts commençant par une virgule auraient été utiles pour m’en souvenir.
 
kayws426 2024-06-24

Que pensez-vous d’utiliser « _ » ?