O .
que você encontra como parte de nomes de caminho não tem nada a ver com o comando .
.
.
é um nome de arquivo especial que existe em cada diretório e designa o diretório atual. Portanto, ./script.ksh
designa o arquivo script.ksh
no diretório atual e o ././script.ksh
, assim como ./././script.ksh
(não importa quantas vezes você pede ao resolvedor do caminho para ir do diretório atual para ele mesmo para si mesmo para si mesmo...). Entre outras razões, usamos ./script.ksh
em vez de simplesmente script.ksh
para deixar claro que queremos dizer um nome de caminho, não um comando shell.
.
também é um shell interno que faz com que o shell forneça o conteúdo do arquivo fornecido como um argumento no ambiente atual do shell, em vez de executá-lo como um comando externo. O comando .
também pode ser escrito source
em muitos shells (esse é um alias de compatibilidade proveniente de csh
heritage). Observe que, como este é um comando shell (que consiste em um único caractere de pontuação, como :
), ele sempre é seguido por espaço em branco.