Como recarregar a
.bash_profile
partir da linha de comando ?
Posso fazer com que o shell reconheça as alterações .bash_profile
saindo e efetuando login novamente, mas gostaria de poder fazer isso sob demanda.
bash
shell
command-line
markdorison
fonte
fonte
alias BASHRELOAD=". ~/.bash_profile"
. Se você fizer isso com frequência, poderá simplesmente usar o alias comobr
.alias reload='source ~/.bash_profile && echo "File .bash_profile reloaded correctly" || echo "Syntax error, could not import the file"';
Apenas verifique se você não tem nenhuma dependência do estado atual lá.
fonte
.
comando neste caso?.
é simplesmente um apelido para osource
comando..
é mais antigo do quesource
é.source
é uma implementação específica do bash de.
.
esource
são literalmente a mesma coisa no bash. No link: "source
é sinônimo de ponto / período '.
' no bash, mas não no POSIX sh, portanto, para obter compatibilidade máxima, use o período."Basta digitar:
No entanto, se você deseja que a fonte seja executada automaticamente quando o terminal iniciar, em vez de executá-lo toda vez que você abrir o terminal, poderá adicionar
. ~/.bash_profile
ao~/.bashrc
arquivo.Nota:
Quando você abre um terminal, o terminal inicia o bash no modo interativo (sem login), o que significa que ele será originado
~/.bashrc
.~/.bash_profile
é originado apenas pelo bash quando iniciado no modo de login interativo . Normalmente, isso é apenas quando você faz login no console ( Ctrl+ Alt+ F1.. F6) ou se conecta viassh
.fonte
Você também pode usar este comando para recarregar o ~ / .bash_profile para esse usuário. Certifique-se de usar o traço.
fonte
Gosto do fato de que depois de editar o arquivo, tudo o que você precisa fazer é digitar:
Isso origina o arquivo que você acabou de editar no histórico. Consulte O que é bang dollar na festança .
fonte
cd
. .bash_profile
fonte
cd
. Não há necessidade~
.cd
- você pode simplesmente recarregá-lo no diretório em que está:. ~/.bash_profile
Se você não se importa de perder o histórico do seu terminal shell atual, também pode fazer
bash -l
Isso danificaria seu shell e abriria outro processo filho do bash. O
-l
parâmetro diz ao bash para ser executado como um shell de logon, isso é necessário porque .bash_profile não será executado como um shell que não é de logon, para obter mais informações sobre isso, leia aquiSe você deseja substituir completamente o shell atual, também pode:
exec bash -l
O exemplo acima não bifurca seu shell atual, mas o substitui completamente; portanto, quando você digita,
exit
ele termina completamente, em vez de deixá-lo no shell anterior.fonte
Adicione
alias bashs="source ~/.bash_profile"
ao seu arquivo bash. Então você pode ligarbashs
da próxima vezfonte
reset
- mais fácil de lembrarse o .bash_profile não existir, tente executar o seguinte comando:
ou
em vez de .bash_profile. Você pode encontrar mais informações sobre bashrc
fonte
Gostaria de postar uma resposta rápida que, enquanto estiver usando
source ~/.bash_profile
ou as respostas mencionadas acima, funcione, uma coisa a mencionar é que isso só recarrega seu perfil bash na guia ou sessão atual que você está visualizando. Se você deseja recarregar seu perfil bash em todas as guias / shell, precisará inserir este comando manualmente em cada uma delas.Se você usa o iTerm, pode usar CMD⌘+ Shift+ Ipara inserir um comando em todas as guias atuais . Para terminal, pode ser útil fazer referência a esse problema ;
fonte
você só precisa digitar
. ~/.bash_profile
consulte: /superuser/46139/what-does-source-do
fonte
Eu uso o Debian e posso simplesmente digitar
exec bash
para conseguir isso. Não sei dizer se funcionará em todas as outras distribuições.fonte
. .bash_profile
dentro do diretório inicial do Mac fará o trabalho. O mesmo que a resposta dada acima por 7urkm3n.ou se você quiser adicionar logs através de funções
fonte
. ~/. bash_profile
nemsource ~/.bash_profile
Estou executando o Sierra e trabalhei nisso por um tempo (tentando todas as soluções recomendadas). Fiquei confuso e, por fim, tentei reiniciar meu computador! Funcionou
minha conclusão é que, às vezes, é necessário um hard reset
fonte