Qual é a diferença entre “.” “./” e “source”? [duplicado]

2

Qual é a diferença entre "." "./" e "source"?

    
por ankagarwal 27.09.2016 / 03:39

2 respostas

4

./script

O acima executa o script. Quando o script é concluído, todas as alterações feitas no ambiente são descartadas.

. script

As fontes acima descrevem o script. É como se os comandos tivessem sido digitados diretamente. Quaisquer alterações no ambiente são mantidas.

source script

Isso também origina o script. O comando source não é requerido pelo POSIX e, portanto, é menos portável do que o menor . .

    
por 27.09.2016 / 03:44
0

O ponto é uma ideia útil para digitar rapidamente várias coisas.

Na web, um ponto é o último valor que um endereço da Web possui:

unix.stackexchange.com.

Na árvore de diretórios, um ponto é "este diretório", o que for o pwd (diretório de trabalho atual). E geralmente é usado com uma barra depois disso:

ls -d ./

Imprimirá este diretório (a opção -d), que é simplesmente ./ novamente.
Mas:

ls ./

list de todos os arquivos e diretórios no pwd.

No shell, um ponto também significa: "source a file".
Assim, isso é equivalente:

. ./a_file
source ./a_file

E você pode extrair o a_file no pwd (aqui) se ele tiver o bit de execução ativado.

$ ls -l ./a_file
-rwxr--r-- 1 user user 8370 sep 26 19:32 ./a_file

Tem o x (execute bit) ativado e, portanto:

$ ./a_file

Vai (tentar) executá-lo.

    
por 27.09.2016 / 04:01