Superuser: what-is-the-difference-between-executing-a-bash-script-vs-sourcing-it
Short answer: sourcing will run the commands in the current shell process. executing will run the commands in a new shell process.
Mais informações na pergunta / resposta original
O exemplo abaixo mostra a diferença entre executar o script e source
it:
$ cat a.sh
export AWS_ACCESS_KEY_ID=key
export AWS_SECRET_ACCESS_KEY=secret_key
export AWS_DEFAULT_REGION=region
$ ./a.sh
$ echo $AWS_ACCESS_KEY_ID
$ source a.sh
$ echo $AWS_ACCESS_KEY_ID
key
$