In meinen Tests (in Bash und Z Shell) habe ich keine Probleme beim Definieren von Funktionen oder Aliasen oder ausführbaren Shell-Skripten mit Bindestrichen im Namen festgestellt, aber ich bin nicht sicher, dass dies in allen Shells und in allen Anwendungsfällen in Ordnung ist .
Der Grund, warum ich dies tun möchte, ist, dass ein Bindestrich einfacher einzugeben ist als ein Unterstrich und daher schneller und glatter.
Ein Grund, warum ich nicht sicher bin, dass dies kein Problem ist, ist, dass in einigen Sprachen (z. B. Ruby) der Bindestrich auch ohne Leerzeichen als Minuszeichen interpretiert wird. Es würde mich nicht überraschen, wenn so etwas in einigen Shells passieren könnte, in denen der Bindestrich als Signal für eine Option interpretiert wird, auch ohne Leerzeichen.
Ein weiterer Grund, warum ich ein wenig misstrauisch bin, ist, dass mein Texteditor die Syntaxhervorhebung für Funktionen mit Bindestrichen durcheinander bringt. (Aber natürlich ist es durchaus möglich, dass dies nur ein Fehler in der Syntax der Hervorhebungskonfiguration für Shell-Skripte ist.)
Gibt es einen Grund, Bindestriche zu vermeiden?
-
in ihnen sind böse. Ich sehe dich an, CSS. :)csh
und getestettcsh
und sie unterstützen auch keine Bindestriche, aber die Korn-Shell hat es getan. Es ist ein bisschen komisch, dass ich aucha-b()
meinen Funktionsnamen verwendet habe.Ich weiß, dass dies wirklich spät ist, aber vielleicht können Sie Ihr Problem umgehen, indem Sie den Unterstrich zugänglicher machen.
Dies schaltet den Unterstrich mit einem Bindestrich (Minus) um.
Jetzt halten Sie die Umschalttaste für den Bindestrich gedrückt, aber ein Unterstrich wird ohne Umschalttaste eingegeben.
Ihr Schlüsselcode kann unterschiedlich sein. Ich denke jedoch, dass er von Ihrer Tastatur abhängt. meins ist zufällig 20. Sagen Sie mir einfach Bescheid, wenn Sie Hilfe benötigen, um den zu verwendenden Schlüsselcode zu finden.
quelle