拡張Unicode文字を使用すると、多くのユーザーにとって便利です(疑いの余地はありません)。
単純なシェル(ash(busybox)、dash)およびkshは次のように失敗します:
tést() { echo 34; }
tést
しかし、bash、mksh、lksh、およびzshはそれを許可しているようです。
POSIXの有効な関数名はこのNamesの定義を使用することを認識しています。つまり、この正規表現:
[a-zA-Z_][a-zA-Z0-9_]*
ただし、最初のリンクでは次のようにも言われています。
実装では、関数名に他の文字を拡張として使用できます。
質問は次のとおりです。
- これは受け入れられ、文書化されていますか?
- どこ?
- どのシェル用か(もしあれば)?
関連質問:
シェル関数名に特殊文字を使用できますか?
関数名にメタ文字(>)を使用することに興味はありません。
「-」
を含むUpstartおよびbashの関数名演算子(減算「-」)が名前の一部であるべきだとは思わない。
alias
少し寛大に感じるかもしれません。そのため、適切なボタンダウンされた名前で関数を記述し、よりスタイリッシュな名前のエイリアスを定義して関数を呼び出すことができます。また、dash
でできることも$PATH
あり%func
ます。