Qual é a diferença entre executar um script como este:
./test.sh
e executando um script como este:
. test.sh?
Tentei um script simples de duas linhas para verificar se havia alguma diferença:
#!/bin/bash
ls
Mas ambos . test.she ./test.shretornou a mesma informação.
test.shnão é o mesmo que ./test.sh(o primeiro invoca uma PATHpesquisa), assim são . test.she . ./test.shdiferente da mesma forma (o antigo invoca uma PATHpesquisa). Muitos shells parecem incluir implicitamente .no final de PATHuma .pesquisa de caminho, mas esse comportamento não é padrão. Assim, é mais preciso para comparar test.shvs . test.she ./test.shvs . ./test.sh.