./script
executa um arquivo chamado 'script' no local ./
- que significa 'aqui' (isto é, o diretório atual). Esse script é executado em um sub-shell, e qualquer coisa que o script faz no ambiente é perdida quando o sub-shell termina.
. ./script
diz ao shell atual para executar um arquivo chamado 'script' na localização ./
no shell atual sem um sub-shell, então qualquer coisa que muda no ambiente permanece quando o script pára.
.
é uma abreviação do comando source
. Você pode procurar fonte com man ( man source
).
/home/bob/script
é o mesmo que ./script
se você estiver no diretório /home/bob
. /home/bob/script
é o mesmo que . ./script
se você estiver no diretório /home/bob