Por que dois-pontos ( :
) foi escolhido como separador de caminho?
Note que eu quero dizer "separador de caminho" e não "separador de diretório". Separador de caminho é o símbolo colocado entre as entradas na PATH
variável de ambiente.
PATH="/usr/local/sbin:/usr/local/bin:/usr/bin:..."
^ this symbol
Tudo em computadores e software já foi uma decisão deliberada tomada por alguém em algum lugar. Por exemplo, por que til representa o diretório inicial (e por que hjkl para chaves de direção no vi) . Eu gosto de conhecer os antecedentes desta decisão.
Alguns fatos aleatórios:
Ter dois pontos como separador de caminho significa que o diretório com dois pontos no nome não pode ser adicionado ao caminho.
do POSIX:
Como
<colon>
é um separador nesse contexto, os nomes de diretório que podem ser usados no PATH não devem incluir um<colon>
caractere.
http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html
Parece não ser possível escapar do cólon. @ Random832 da Stack Overflow inspecionou o código-fonte que manipula PATH e não encontrou nenhum mecanismo de escape.
PATH
antes da introdução do Unix versão 7 (em 1979) , mas havia um :
caminho de pesquisa delimitado em 1977. O PWB / Unix (Programmer's Workbench) usou o shell Mashey , escrito por John R. Mashey , que caiu cronologicamente entre a casca de Thompson e a casca de Bourne. … (Continua)
p
era o caminho de pesquisa (chamado “a sequência de pesquisa de diretório do Shell para execução de comandos”), com diretórios separados por dois pontos. ………………………………………………………… Curiosidade: enquanto o shell Mashey processava o .profile
arquivo, também permitia especificar um $p
valor inicial no arquivo chamado .path
.
/etc/passwd
(que também contém caminhos nas colunas inicial e shell).