Warum wurde Doppelpunkt ( :
) als Pfadtrennzeichen gewählt?
Beachten Sie, dass ich "Pfadtrennzeichen" und nicht "Verzeichnistrennzeichen" meine. Pfadtrennzeichen ist das Symbol zwischen den Einträgen in der PATH
Umgebungsvariablen.
PATH="/usr/local/sbin:/usr/local/bin:/usr/bin:..."
^ this symbol
Alles, was mit Computern und Software zu tun hatte, war einst eine bewusste Entscheidung, die irgendwo jemand getroffen hatte. Zum Beispiel, warum Tilde Heimatverzeichnis darstellt (und warum hjkl für Richtungstasten in vi) . Ich möchte den Hintergrund für diese Entscheidung kennen.
Einige zufällige Fakten:
Ein Doppelpunkt als Pfadtrennzeichen bedeutet, dass dem Pfad kein Verzeichnis mit einem Doppelpunkt im Namen hinzugefügt werden kann.
von POSIX:
Da
<colon>
es sich in diesem Zusammenhang um ein Trennzeichen handelt, sollten Verzeichnisnamen, die möglicherweise in PATH verwendet werden, kein<colon>
Zeichen enthalten.
http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html
Es scheint nicht möglich zu sein, dem Dickdarm zu entkommen. @ Random832 von Stack Overflow hat den Quellcode überprüft, der PATH verarbeitet, und keinen Escape-Mechanismus gefunden.
PATH
vor der Einführung von Unix Version 7 (1979):
aufgerufen wurde , aber bereits 1977 gab es einen durch -begrenzten Suchpfad. PWB / Unix (Programmer's Workbench) verwendete die Mashey-Shell von John R. Mashey , der chronologisch zwischen der Thompson-Shell und der Bourne-Shell fiel. … (Fortsetzung)
p
heißen ) - und Variable war der Suchpfad (als „Shell-Verzeichnis-Suchsequenz für die Befehlsausführung“ bezeichnet), wobei die Verzeichnisse durch Doppelpunkte getrennt waren. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... Spaß Tatsache: Während die Mashey Shell die verarbeitete .profile
Datei, ist es auch erlauben Sie einen ersten angeben $p
genannten Wert in der Datei .path
.
/etc/passwd
(das auch Pfade in den Spalten home und shell enthält).