L'uso di caratteri Unicode estesi è (senza dubbio) utile per molti utenti.
Le shell più semplici (ash (busybox), dash) e ksh non funzionano con:
tést() { echo 34; }
tést
Ma bash , mksh , lksh e zsh sembrano permetterlo.
Sono consapevole che i nomi di funzioni valide POSIX utilizzano questa definizione di nomi . Ciò significa che questa regex:
[a-zA-Z_][a-zA-Z0-9_]*
Tuttavia, nel primo link si dice anche:
Un'implementazione può consentire altri caratteri in un nome di funzione come estensione.
Le domande sono:
- Questo è accettato e documentato?
- Dove?
- Per quali shell (se ce ne sono)?
Domande correlate: è
possibile utilizzare caratteri speciali nel nome di una funzione shell?
Non mi interessa usare i meta-caratteri (>) nei nomi delle funzioni.
Nomi di funzioni upstart e bash contenenti “-”
Non credo che un operatore (sottrazione "-") dovrebbe far parte di un nome.
alias
di essere un po 'più indulgente. e così puoi scrivere la funzione con un nome appropriato abbottonato e quindi definire un alias con un nome più elegante per chiamare la funzione. indash
c'è anche alcune cose si può fare con$PATH
e%func
.