A execução de . ./test.sh é semelhante à execução de source ./test.sh . Não está executando o arquivo test.sh como um executável. Em vez disso, ele está executando o conteúdo, linha por linha, no seu shell atual. Por isso, poderia também, por exemplo, modificar o seu ambiente atual.