que condição precisamos usar “.” na linha de comando? [duplicado]

1

uma pergunta - em alguns casos, eu vi a linha de comando assim

./test.sh

Estou curioso para saber por que usar "." antes de "./test.sh" que condição temos que usar "." antes de um comando?

    
por 劉紀寒 11.01.2016 / 08:18

2 respostas

3

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.

    
por 11.01.2016 / 08:23
1

A execução de . ./test.sh é igual a source ./test.sh . Ele executa o script no shell atual em vez de um subshell (ou seja, ele não é bifurcado). Isso pode alterar variáveis de mesmo nome no script de chamada, e deixará variáveis e funções que foram definidas em ./test.sh também definidas e visíveis após a chamada no script de chamada.

    
por 11.01.2016 / 09:46