Dlaczego dwukropek ( :) został wybrany jako separator ścieżki?
Zauważ, że mam na myśli „separator ścieżki”, a nie „separator katalogu”. Separator ścieżek to symbol umieszczony między wpisami w PATHzmiennej środowiskowej.
PATH="/usr/local/sbin:/usr/local/bin:/usr/bin:..."
^ this symbol
Wszystko, co znajdowało się w komputerach i oprogramowaniu, było kiedyś świadomą decyzją podejmowaną przez kogoś. Na przykład dlaczego tylda reprezentuje katalog domowy (i dlaczego hjkl dla klawiszy kierunkowych w vi) . Lubię znać tło tej decyzji.
Kilka przypadkowych faktów:
Posiadanie dwukropka jako separatora ścieżki oznacza, że do ścieżki nie można dodać katalogu z dwukropkiem w nazwie.
z POSIX:
Ponieważ
<colon>w tym kontekście jest to separator, nazwy katalogów, które mogą być użyte w zmiennej PATH, nie powinny zawierać<colon>znaku.
http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html
Wydaje się, że ucieczka z jelita grubego nie jest możliwa. @ Random832 z przepełnienia stosu sprawdził PATH obsługujący kod źródłowy i nie znalazł mechanizmu zmiany znaczenia.
PATH przed wprowadzeniem Unix wersji 7 (w 1979 roku) , ale nie było :-delimited ścieżka wyszukiwania już w 1977. PWB / Unix (programisty Workbench) stosowany w Mashey skorupę , napisany przez John R. Mashey , który chronologicznie spadł między skorupą Thompsona i skorupą Bourne'a. … (Ciąg dalszy)
pbyła ścieżka wyszukiwania (zwana „sekwencją przeszukiwania katalogu powłoki w celu wykonania polecenia”), z katalogami oddzielonymi dwukropkami. …………………………………………………………… Ciekawostka: podczas gdy powłoka Mashey przetworzyła .profileplik, pozwoliła również określić $pwartość początkową w nazwie pliku .path.


/etc/passwd(który zawiera również ścieżki w kolumnach głównej i powłoki).