Você não pode simplesmente substituir .
por source
em todos os lugares; se
. ./.a.a
funciona, você pode substituir o primeiro .
(pelo menos no Bash):
source ./.a.a
O segundo .
representa o diretório atual, você não pode substituí-lo por source
(especialmente não ./
com source
como você fez).
source source
seria OK se você tivesse um arquivo chamado source
no diretório atual, contendo algo significativo para o seu shell atual. Não consigo ver como . .
seria OK ...
Além disso, . ./.a.a
e ./.a.a
não são iguais, a segunda forma executa .a.a
em um shell separado. Veja Qual é a diferença entre o sourcing ('.' Ou 'source') e a execução de um arquivo no bash? para detalhes.