Dans mes tests (dans Bash et Z Shell), je n'ai vu aucun problème avec la définition de fonctions ou d'alias ou de scripts de shell exécutables qui ont des tirets dans le nom, mais je ne suis pas sûr que ce sera correct dans tous les shells et dans tous les cas d'utilisation .
La raison pour laquelle je voudrais le faire est qu'un trait d'union est plus facile à taper qu'un trait de soulignement, et donc plus rapide et plus fluide.
Une raison pour laquelle j'hésite à croire que ce n'est pas un problème est que dans certaines langues (Ruby par exemple), le trait d'union serait interprété comme un signe moins même sans espaces autour. Cela ne me surprendrait pas si quelque chose comme cela pouvait se produire dans certains shells, où le trait d'union est interprété comme signalant une option même sans espace.
Une autre raison pour laquelle je suis un peu méfiant est que mon éditeur de texte bousille la coloration syntaxique des fonctions avec des tirets. (Mais bien sûr, il est tout à fait possible que ce soit juste un bogue dans sa configuration de coloration syntaxique pour les scripts shell.)
Y a-t-il une raison d'éviter les traits d'union?
-
en eux sont mauvais. Je te regarde, CSS. :)