Recarregue .profile do bash sem sair e fazer login novamente


81

É possível coagir o bash a recarregar o arquivo .profile sem fazer logoff e logon novamente?

Respostas:


102

Isso deve funcionar para o terminal atual:

. ~/.profile

.é um bashbuiltin e um sinônimo para source, consulte man bash:

. nome do arquivo [ argumentos ] nome do arquivo de
origem [ argumentos ]      Leia e execute comandos do nome do arquivo no atual ambiente de shell (…).


18
Será efetivo apenas no terminal atual.
enzotib 29/08

@enzotib Existe uma maneira de contornar isso?
Matty

14
@Matty: não, para fazer as mudanças visíveis a todo o ambiente gráfico, você só pode reiniciar a sessão
enzotib

2
O único problema com isso é se você remover algo do caminho que não entraria em vigor até que você reinicie
Aras

1
@Aras faz um ponto importante que merece expansão: Se algo é removido a partir ~/.profile, essa alteração não entrar em vigor após . ~/.profilerecarga. Por exemplo, adicionar uma função ~/.profile: function externalip () { curl http://ipecho.net/plain; echo; }, então ~/.profile- FUNCIONA. Agora remova essa função e ~/.profile, . ~/.profilenovamente. A função ainda está disponível - somente a reinicialização (sair e entrar) a removerá.
Seamus

13

Se você não deseja iniciar um novo shell, mas executar o script no shell atual, você o origina:

source script_name.sh

source = .

O Bash interno sourceé um sinônimo do .comando Bourne shell (ponto).

cortesia - tldp.org

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.