Qual é a diferença entre "./somescript.sh" e ". ./somescript.sh ”

Hoje eu estava seguindo algumas instruções para instalar um software no Linux. Havia um script que precisa ser executado primeiro. Ele define algumas variáveis de ambiente.

A instrução me disse para executar. ./setup.sh, mas cometi um erro ao executar./setup.sh. Portanto, o ambiente não foi definido. Finalmente notei isso e continuei.

Quero saber a diferença entre esses dois métodos de invocação de um script. Eu sou completamente novo no Linux, portanto, seja o mais elaborado possível.

questionAnswers(4)

yourAnswerToTheQuestion