Unixパス文字列を操作するためのライブラリを書いています。そういうわけで、私はほとんどの人が気にしないであろう構文のいくつかのあいまいなコーナーを理解する必要があります。
たとえば、私が知る限りfoo/bar
、foo//bar
両方とも同じ場所を指しているようです。
また、~
通常はユーザーのホームディレクトリを表しますが、パスの途中にある場合はどうでしょうか。次に何が起こりますか?
考えられるすべてのケースを正しく処理するコードを記述しようとする場合、これらとその他の数十のあいまいな質問に答える必要があります。誰かがこのものの正確な構文規則を説明する決定的なリファレンスを知っていますか?
(残念ながら、「Unixパス構文」のような用語を検索すると、$PATH
変数を説明する100万ページが表示されます...ヘック、この質問に適したタグを見つけるのに苦労しています!)
~
)は、Linuxが複数のパス区切り文字をどのように処理するか(/ home //// username /// file)で説明されています。規範的な参照に最も近いものはPOSIXまたはSingle Unix仕様でしょう-簡単に読むことはできません。