当社は、「ApplicationName」など、大文字と小文字が混在するブランド名でアプリケーションをデプロイします。
アプリケーションのインストーラは、この基準に従ってすべてのパスとファイル名を生成します。たとえば、ホームディレクトリは/opt/ApplicationName
、 init ファイルが呼び出されるのでApplicationName
実行をさせなければならないservice ApplicationName status
などの作業をします。
私にとって、これはすべての合理的なルールを破ります。ファイルとディレクトリは両方とも小文字でなければならないと思います(ファイルとディレクトリの両方が呼び出されるMySQLなどの他のアプリケーションでは、mysql
ApacheやTomcatなどのアプリケーションでもこの手順は前の前例を取り消します)。 。
私がこれをバグレポートとして提出した場合、私は「私はこれが間違っていると思います」よりも強力な主張を提示したいと思います。それでは、POSIX規格などのシステム文書では小文字でなければならないと規定していますか?
答え1
いいえ、パッケージのインストールディレクトリに小文字の名前が指定されていません。
実際、歴史的にインストールされたソフトウェアパッケージは、Sun MicrosystemsやOracle/opt
などのパッケージを提供した会社の完全な大文字の株式記号で始まりました。SUNW
ORCL
したがって、SunのQFSファイルシステムなどのソフトウェアパッケージは/opt/SUNWqfs
。
答え2
POSIX 規格にはガイドラインを提供するセクションがあります。適格ユーティリティ(例:「ローカルシステム用に特別に作成されたもの、またはより大きなアプリケーションのコンポーネントとして」)
- ユーティリティ名は2〜9文字(含む)でなければなりません。
- ユーティリティ名には、小文字(小文字の分類)と移植可能な文字セットの数字のみを含める必要があります。
[引用する:12.2 ユーティリティ構文ガイド]
「含まなければならない」という言葉の使用が実際に「含まなければならない」を意味するかどうかは私には明確ではありません。ただ(以下のコメントの間では「のみ含めるべき」という意味で共感されます。)
POSIX準拠のユーティリティであると主張しないUnixシステムのアプリケーションは、希望の名前を使用できます。その場合するPOSIX規格に準拠すると主張するユーティリティこれはPOSIXシェルユーティリティの一部です。セクション12.2の指示の後に続くテキストは、「すべき」の意味が「すべき」に変更されたことを示します。
私が知っている限り、ディレクトリ名に関する同様の指示はありません。 macOS(例:認証されたUNIX 03製品たとえば、IntelベースのMacコンピュータで実行している場合)は、/Users
ユーザーのホームディレクトリのプレフィックスとして使用され、他の大文字と小文字が混在するディレクトリ名もよく使用されます。
答え3
POSIXガイドで言うことに加えて、これはユーザーの伝統に大きな比重を置くことができると思います。 「ApplicationName」のようなケース名はWikiの爆発的な増加で人気を集めました。しかし、これはLinuxと同様のオペレーティングシステムが普及し、数年後に行われ、Unixは長い伝統を持っています。
この伝統は単にKusalalanandaが指摘した規則に従うだけでなく、4〜6文字の単語(「/usr
ユーザー」、/srv
「サービス」、または/mnt
「インストール」)だけを短縮し、明らかに長い意味を持ちます(/sbin
「Superuser Binary」)。この伝統では、大文字のために誤ってShiftキーを押し、Caps Lockキーを押した可能性があります。
Unixでは長い間大文字と小文字を区別する長いファイル名を作成できましたが、MS-DOS / Windowsでは大文字と小文字を区別しない短いファイル名(8文字+拡張子3つ)に制限されているため、これは驚くべきことです。 Windows 95がこの制限(プログラムファイル、マイドキュメントなど)を超えたとき、単純さはすぐに消えました。
しかし、今日はNetworkManager
デーモンのようないくつかの例外があり、今後より多くのWikiWordを見ることができます。しかし、私たちはまだマウスを嫌い、ターミナルに長い名前を付けてTabTabオートコンプリートで終わります。それとも名前を変更すると、vim
どんな利点があると思う人がいますかVisualImproved
?