¿Por qué se :
eligió colon ( ) como separador de ruta?
Tenga en cuenta que quiero decir "separador de ruta" y no "separador de directorio". El separador de ruta es el símbolo colocado entre las entradas en la PATH
variable de entorno.
PATH="/usr/local/sbin:/usr/local/bin:/usr/bin:..."
^ this symbol
Todo en computadoras y software alguna vez fue una decisión deliberada tomada por alguien en algún lugar. Por ejemplo, por qué tilde representa el directorio de inicio (y por qué hjkl para las teclas de dirección en vi) . Me gusta saber los antecedentes de esta decisión.
Algunos hechos al azar:
Tener dos puntos como separador de ruta significa que el directorio con dos puntos en el nombre no se puede agregar a la ruta.
de POSIX:
Dado que
<colon>
es un separador en este contexto, los nombres de directorio que podrían usarse en PATH no deberían incluir un<colon>
carácter.
http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html
Parece que no es posible escapar del colon. @ Random832 de Stack Overflow inspeccionó el código fuente que maneja la RUTA y no encontró ningún mecanismo de escape.
PATH
antes de la introducción de Unix Versión 7 (en 1979) , pero había una :
ruta de búsqueda delimitada ya en 1977. PWB / Unix (Programmer's Workbench) usó el shell Mashey , escrito por John R. Mashey , que cayó cronológicamente entre la concha de Thompson y la concha de Bourne. ... (Continúa)
p
era la ruta de búsqueda (llamada "la secuencia de búsqueda de directorio de Shell para la ejecución de comandos"), con directorios separados por dos puntos. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... Dato curioso: mientras el shell Mashey procesó el .profile
archivo, también le permitió especificar un $p
valor inicial en el archivo llamado .path
.
/etc/passwd
(que también contiene rutas en las columnas de inicio y shell).