Die Verwendung erweiterter Unicode-Zeichen ist (ohne Zweifel) für viele Benutzer nützlich.
Einfachere Shells (ash (busybox), dash) und ksh schlagen fehl mit:
tést() { echo 34; }
tést
Aber bash , mksh , lksh und zsh scheinen es zu erlauben.
Mir ist bekannt, dass POSIX- gültige Funktionsnamen diese Definition von Namen verwenden . Das heißt dieser reguläre Ausdruck:
[a-zA-Z_][a-zA-Z0-9_]*
Im ersten Link heißt es jedoch auch:
Eine Implementierung kann andere Zeichen in einem Funktionsnamen als Erweiterung zulassen.
Die Fragen sind:
- Wird dies akzeptiert und dokumentiert?
- Wo?
- Für welche Muscheln (falls vorhanden)?
Verwandte Fragen:
Ist es möglich, Sonderzeichen in einem Shell-Funktionsnamen zu verwenden?
Ich bin nicht daran interessiert, Metazeichen (>) in Funktionsnamen zu verwenden.
Namen von Upstart- und Bash-Funktionen, die "-" enthalten
Ich glaube nicht, dass ein Operator (Subtraktion "-") Teil eines Namens sein sollte.
alias
etwas nachsichtiger sein. und so können Sie die Funktion mit einem richtigen, heruntergeknöpften Namen schreiben und dann einfach einen eleganteren Aliasnamen definieren, um die Funktion aufzurufen. indash
dort auch einige Sachen sind , können Sie mit tun$PATH
und%func
.