Eles são equivalentes no bash, pois fazem exatamente a mesma coisa. Por outro lado, sourcetem 5 caracteres a mais e não é portátil para shells somente POSIX ou Bourne, enquanto .(ponto) é, então nunca me incomodo em usá-lo source.
Isso está correto - o fornecimento de um arquivo executa os comandos no shell atual e isso afeta o ambiente atual do shell. Você ainda pode passar argumentos para o arquivo de origem e o bash realmente procurará $PATHo nome do arquivo como um comando normal se ele não contiver barras.
Não está relacionado à pergunta original de .vs source, mas no seu exemplo,
. ./myScript.sh
não é idêntico a
source myScript.sh
porque while .e sourcesão funcionalmente idênticos myScript.she ./myScript.shnão são os mesmos. Como ./myScript.shcontém uma barra, ela é interpretada como um caminho e o shell apenas usa ./myScript.sh. No entanto, myScript.shnão tem uma barra, então o shell a $PATHprocura primeiro. Este é o comportamento padrão especificado para POSIX. . A maioria dos shells é padronizada para isso, embora possam adicionar extensões (como pesquisar no diretório de trabalho atual após a pesquisa de caminho) ou opções para alterar o comportamento de ./ source.