2 puntos por GN⁺ 2024-06-24 | 2 comentarios | Compartir por WhatsApp

Cómo evitar conflictos con comandos personalizados

Problema

  • Posibles conflictos de nombres entre scripts de shell personalizados y comandos del sistema
  • Especialmente en sistemas que incluyen muchos comandos, como Debian, aumenta la posibilidad de conflicto

Solución

  • Poner una coma (,) delante de los comandos personalizados para distinguirlos de los comandos del sistema
  • La coma no tiene un significado especial en los nombres de archivo, así que se puede usar con seguridad

Ventajas

  • Usar una coma evita conflictos entre comandos
  • Con la función de autocompletado con tabulador, es fácil revisar la lista de comandos personalizados

Ejemplo

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

Opinión de GN⁺

  • Este método puede evitar de forma efectiva los conflictos entre comandos personalizados y comandos del sistema.
  • Usar una coma es una solución simple pero poderosa, que incluso ingenieros principiantes pueden aplicar fácilmente.
  • Esta técnica es especialmente útil en sistemas que usan muchos comandos.
  • Como alternativa, también se puede considerar poner un prefijo específico delante del comando.
  • Si se usa este método, la gestión de comandos puede volverse más ordenada y eficiente.

2 comentarios

 
GN⁺ 2024-06-24
Opiniones de Hacker News
  • El nombre "comma_nds" es divertido. Parece una buena idea, así que pienso probarlo.
  • Al principio pensé que no sería gran cosa, pero me gustó especialmente la parte de usar tab para listar las herramientas. Últimamente casi no he tenido conflictos de espacios de nombres.
  • Los nombres de scripts de shell eran cortos y concisos, así que podían chocar con comandos del sistema. Poner el directorio bin al principio de $PATH puede resolver el problema.
  • En Vim también se usa mucho la tecla ,. Se usa con frecuencia por una razón similar.
  • No entendí muy bien el problema, pero la idea de autocompletar tus propios comandos es buena.
  • Uso comandos personalizados cortos. No me importa si chocan con comandos del sistema. Si hay conflicto, les pongo un alias con otro nombre.
  • En Windows es fácil ejecutar scripts de Python, pero en Linux es difícil. Linux es incómodo porque no tiene el concepto de programas asociados.
  • Hay una forma de evitar conflictos: usar nombres largos para los ejecutables y configurar alias cortos. La desventaja es que tab completion se vuelve incómodo.
  • En la comunidad de expansores/reemplazo de texto también es común la técnica de empezar con coma.
  • Tenía muchos ejecutables en ~/.local/bin que no recordaba. Los nombres de scripts que empiezan con coma me habrían servido para recordarlos.
 
kayws426 2024-06-24

¿Qué tal usar '_'?