O que faz. em . .bash_profile mean? [duplicado]

2

O comando . .bash_profile é usado para recarregar (?) bash_profile. Qual é o propósito geral do primeiro . ? Como ele pode ser usado e há algum recurso para ler sobre esses símbolos de tipo do Terminal?

    
por Eduard 10.06.2018 / 12:24

2 respostas

9

O comando . é um shell embutido. Ele executa o shell script que você fornece como argumento, mas dentro do seu ambiente shell atual. Isso também é chamado de "fornecimento" de um script. No Bash, source é, portanto, um sinônimo de . (mas, por exemplo, não em sh ou no padrão POSIX). Veja também Qual é a diferença entre "source" e "."?

O fornecimento de um script (como . ~/.bashrc ) é diferente de executar um script regularmente (como ~/.bashrc ), pois, se você executá-lo normalmente, ele será executado dentro de um sub-shell em vez do ambiente atual do shell.

Um sub-shell tem seu próprio diretório de trabalho, opções de shell e variáveis locais, de modo que alterá-las dentro do script (por exemplo, usando cd ou configurando / alterando variáveis) não afeta o shell pai. Se você executar um script, ele também obterá acesso de leitura somente às variáveis locais do shell pai, que ele export ed, não as regulares.

Se você quiser permitir que o script modifique seu ambiente atual (por exemplo, para alterar as opções do shell, definir variáveis de ambiente, criar aliases e funções que você possa usar, etc), que é o caso de .bashrc , para obtê-lo. Se você acabou de executá-lo, todas as alterações serão perdidas assim que ele sair e retornar ao seu ambiente de shell.

Mais informações podem ser obtidas executando help . ou help source e man bash (seção sobre built-ins do shell) .

    
por Byte Commander 10.06.2018 / 13:25
0

Eu estou anexando a saída de . --help . Isso pode ajudar você.

.: . filename [arguments]
Execute commands from a file in the current shell.

Read and execute commands from FILENAME in the current shell.  The
entries in $PATH are used to find the directory containing FILENAME.
If any ARGUMENTS are supplied, they become the positional parameters
when FILENAME is executed.

Exit Status:
Returns the status of the last command executed in FILENAME; fails if
FILENAME cannot be read.
    
por Kulfy 10.06.2018 / 12:27