どちらかと考えることができます。
Linuxでは、//
何も意味がありません。複数の連続したスラッシュは、先頭を含むパスのどこにでも 1つに折りたたまれます。ディレクトリを変更//
すると/
、実行中readlink /proc/self/cwd
にわかるようにに移動します。同様に、/usr//local///bin
に崩壊し/usr/local/bin
ます。
ただし、Cygwinや古いApollo Domain / OSなど、他のUnixライクなシステムでは、などのネットワークパスに//
プレフィックスを使用します//fileserver/path/to/data
。POSIXではこれも可能です。
さまざまな理由で、bashシェルは(OSが提供する追跡に加えて)独自に現在のディレクトリを追跡し、そのよう//
なシステムとの互換性を維持するために、イニシャルが折りたたまれるのを防ぐコードが含まれています。「機能」は、bashが現在のディレクトリのより直感的な追跡を提供することです。たとえば、cd
シンボリックリンクに移動すると、bashは、カーネルが別の方法で考えていても、期待するパスを表示します。「バグ」は、bashを//
使用しないシステムでもbashが許可することです。