はい、できます。すでにいくつかあります。 /usr/bin/X
など :)
[email protected]:~$ ls {/usr{/local,},}/{s,}bin | grep '[A-Z]'
MAKEDEV
amuFormat.sh
GET
HEAD
Mail
POST
X
X11
Xephyr
Xnest
Xorg
NetworkManager
[email protected]:~$ zcat ~/.cache/apt-file /archive.ubuntu.com_ubuntu_dists_precise_Contents-i386.gz | tail -n +33 | cut -f1 | grep -P '^(usr/)?s?bin/.*[A-Z]' | wc -l
758
つまり、Ubuntu 12.04 全体で 758 です。全リスト:https://gist.github.com/5264777
Unix ではコマンド名に制限はありません。どのファイルもコマンドにすることができます。また、ファイル名は、ASCII NUL または ASCII /
以外の 1 つまたは複数 (制限まで) の文字の任意のシーケンスにすることができます . zsh
関数名として任意の文字列を使用できる関数の制限を解除します。
ただし、いくつかの注意事項:
.
というコマンド ファイルを作成するのは難しいでしょう。 または..
;-)- 標準のコマンド、シェルのビルトイン、またはキーワードで既に使用されている名前は避けてください (少なくとも
bash
のような最も一般的なシェルでは) 、zsh
、tcsh
またはksh
)。大文字は通常、標準コマンドでは使用されないため、その点で役立ちます。 - ASCII 文字に制限する方がよいでしょう。非 ASCII 文字は、さまざまな文字セットで同じように表現されていません
- 作業中は、文字、数字、ダッシュ、ドット、およびアンダースコアに制限してください。それ以外のものは、合法ではありますが、このツールまたはそのツールで何らかの問題を引き起こす可能性があります (たとえば、
|
、=
、&
:
を使用する場合、他の多くはシェルでエスケープする必要があります 、あなたのコマンドは自分のログインシェルとして使用できません...)。.
を除外することもできます と-
ユーザーがシェル関数でコマンドをラップできるようにする場合に備えて、多くのシェルの関数名では許可されていません。 - 最初の文字を文字にします。繰り返しますが、厳密な要件ではありません。ただし、アンダースコアは特別なことに使用されることがあります (
zsh
など)。 補完システムの関数は_
で始まります )、すべて数字のコマンドはcmd>output.log
などで問題になる可能性があります .名前がドットで始まるファイルは、ls
などで隠されます。 またはシェル グロビングと多くのファイル マネージャー。
最も有名なコマンドは stty
です 、これは STTY
としても利用可能でした . STTY SANE
で端末を通常の動作に戻すのは非常に便利でした .