Auf meiner Linux-Box habe ich in bash Zugriff auf einen "double root" -Ordner, der durch zwei Schrägstriche gekennzeichnet ist:
tomas:~ $ cd /
tomas:/ $ ls
bin/ cdrom@ ...
tomas:/ $ cd //
tomas:// $ ls
bin/ cdrom@ ...
Der Inhalt des Ordners und seines Unterordners ist identisch mit dem "normalen" Single Slash Root. Der doppelte Schrägstrich verschwindet nicht, wenn ich auf seine Unterordner zugreife. Die Annomalie wiederholt sich nicht mit drei oder mehr Schrägstrichen; Dies sind einfache Synonyme für die Wurzel:
tomas:// $ cd home/tomas
tomas://home/tomas $ cd ///
tomas:/ $ cd ////
tomas:/ $
Was für ein Ort ist das? Ist es ein Bug? Kann jemand die Annomalie erklären?
Antworten:
Aus Bash FAQ E10 :
quelle
"Es ist kein Fehler, es ist ein Feature!"
Sie befinden sich immer noch im selben Stammverzeichnis. Ich weiß nicht, woher das kommt, aber ich vermute, dass es etwas damit zu tun hat, Zeichenfolgen für absolute Pfade zu erstellen. Wenn jemand anderes sicher weiß, meldet euch.
quelle
Mehrere Schrägstriche werden von den von Ihnen verwendeten Tools einfach ignoriert und Sie gelangen immer zum gleichen Stammordner.
quelle
Mehrere Schrägstriche werden aus Gründen der Pfadnamenauflösung als ein Schrägstrich behandelt.
Was Sie in der Shell-Eingabeaufforderung sehen, ist ein Artefakt der Bash-PS1-Handhabung (siehe Abschnitt "PROMPTING" in der Bash-Manpage).
Das Ergebnis ist nur eine Frage der Präsentation; Sie befinden sich immer im selben Stammverzeichnis. Sie können dies überprüfen, indem Sie auf
/proc/$$/root
.[edit] Nun, ich wusste das nie: http://www.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap04.html#tag_04_11 Die Bedeutung von "//" wird von den Standards nicht definiert, aber "///" und weitere Schrägstriche entsprechen "/".
quelle