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. :)csh
ettcsh
ils ne supporte pas les traits d' union non plus , mais shell Korn fait. C'est un peu drôle que j'aia-b()
aussi utilisé comme nom de fonction.Je sais que c'est vraiment tard, mais vous pouvez peut-être contourner votre problème de rendre le soulignement plus accessible.
Cela changera le trait de soulignement par un trait d'union (moins).
Alors maintenant, vous maintenez shift pour tiret, mais un trait de soulignement est tapé sans shift.
Votre code de touche peut être différent, cependant, je pense que cela dépend de votre clavier; le mien se trouve être 20. Faites-moi savoir si vous avez besoin d'aide pour trouver le code de clé que vous devez utiliser.
la source