Почему двоеточие ( :
) было выбрано в качестве разделителя пути?
Обратите внимание, что я имею в виду «разделитель пути», а не «разделитель каталогов». Разделитель пути - это символ, помещенный между записями в PATH
переменной среды.
PATH="/usr/local/sbin:/usr/local/bin:/usr/bin:..."
^ this symbol
Все в компьютерах и программном обеспечении когда-то было кем-то осознанным решением. Например, почему тильда представляет домашний каталог (и почему hjkl для клавиш направления в vi) . Мне нравится знать предысторию этого решения.
Несколько случайных фактов:
Наличие двоеточия в качестве разделителя пути означает, что каталог с двоеточием в имени не может быть добавлен в путь.
из POSIX:
Поскольку
<colon>
в этом контексте является разделителем, имена каталогов, которые могут использоваться в PATH, не должны содержать<colon>
символ.
http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html
Кажется, что невозможно избежать толстой кишки. @ Random832 из Stack Overflow проверил исходный код, обрабатывающий PATH, и не обнаружил механизма выхода.
PATH
до введения Unix версии 7 (в 1979 году) , но был :
-delimited путь поиска еще в 1977. PWB / Unix (программист Workbench) используется в Mashey оболочке , написанной Джон Р. Машей , который хронологически попал между оболочкой Томпсона и оболочкой Борна. … (Продолжение)
p
представляет собой путь поиска (называемый «последовательность поиска в каталоге Shell для выполнения команды»), с каталогами, разделенными двоеточиями. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... Интересный факт: в то время, как оболочка Mashey обрабатывает .profile
файл, она также позволяет вам указать начальное $p
значение в файле с именем .path
.
/etc/passwd
(который также содержит пути в столбцах home и shell).