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.