~/.perfil, ~/.bashrc, e ~/.bash_profile não com o novo terminal de início até
-
21-12-2019 - |
Pergunta
Eu estou tentando criar um alias permanente para o meu terminal.Eu coloquei o alias no meu ~/.perfil, ~/.bashrc, e ~/.bash_profile arquivos, anteriormente vazia.Quando eu começo um novo terminal bash não reconhece o alias, mas se eu fonte de qualquer um deles, não.Por que esses não conseguir executar quando eu abro um terminal?Eu estou no OSX.
Solução
Duas coisas precisam acontecer aqui quando utilizar iTerm
para obter o carregamento de arquivos para trabalhar.
Primeiro, você deve adicionar o seguinte ao seu .bash_profile
[[ -s ~/.bashrc ]] && source ~/.bashrc
Em segundo lugar, você vai precisar para assegurar que, em iTerm
preferências de seu terminal está configurado para iniciar uma shell de login.
Espero que isso ajude!
Outras dicas
Usando o terminal MAC padrão, o que funcionou para mim foi adicionar um comando a ser executado no início para a fonte Meu .bash_profile.
Preferências> Perfil> Startup> Adicionar comando 'Source ~ / .bash_profile'
Screenshot de janela de Preferências do Terminal MAC
pode ser considerado um pouco hacky, mas faz o truque.
A partir de alta Sierra, ambos terminal e iterm querem carregar primeiro / .profile.Então eu sugiro que você coloque uma linha em seu .profile para fazer o seu trabalho mac como outros Unixes:
fonte ~ / .bash_profile
Ao editar este arquivo, você não terá que pesquisar nos menus de vários aplicativos para substituir o comportamento bizarro da Apple em cada um.
Adicionar source ~/.profile
para minha .bash_profile
funcionou para mim.
Por que o seu shell de inicialização de arquivos não carregar?
Como com a maioria das coisas, Depende ™
Eu recentemente experimentei o mesmo fenômeno e foi através do seguinte exercício para resolvê-lo:
Eu uso o iTerm.iTerm executa um shell de login por padrão.Verifique no iTerm Preferências > Geral > Comando > (*) Shell de início de sessão Portanto, eu sei que o ~/.bash_profile sempre vai ser chamado.
Sabendo que, coloco o seguinte no meu ~/.bash_profile arquivo:
for file in ~/.{bashrc,bash_exports,bash_aliases,bash_functions}; do
[ -r "$file" ] && source "$file"
done
unset file
Observe que eu uso arquivos separados para .bashrc, .bash_exports, etc.Ele mantém as coisas em separado e simples.
Nota-se também de que o /etc/profile é carregado pela primeira vez, mas como eu nunca usei o de que todo o sistema de inicialização do arquivo, eu sabia que não era o meu problema.Para mais detalhes confira $ man bash
Então, eu comecei com meu ~/.bash_profile arquivo.
Eu achei que quando eu instalei o Dossel Express que é installer substituído o conteúdo de ~/.bash_profile arquivo com o seguinte conteúdo:
# Added by Canopy installer on 2017-04-19
# VIRTUAL_ENV_DISABLE_PROMPT can be set to '' to make the bash prompt show that Canopy is active, otherwise 1
alias activate_canopy="source '/Users/lex/dev/python/User/bin/activate'"
# VIRTUAL_ENV_DISABLE_PROMPT=1 source '/Users/lex/dev/python/User/bin/activate'
p.s.Copa é um excelente e gratuito python IDE, que eu recomendo.
Felizmente, eu o backup do meu ~/.bash* arquivos para restaurar o que foi fácil e rapidamente corrigido o meu problema.
O meu conselho seria para entender a ordem de chamadas para o seu arquivos de inicialização e começar com o primeiro e trabalhar o seu caminho através deles, até encontrar o problema.
Ah, e você pode querer verificar qual o shell que você está usando (eu uso o bash):
~ $ echo $SHELL
/usr/local/bin/bash
Eu estou supondo que você pode usar outro shell, como o bash, tcsh, sh, zsh, etc.
Coloque source .bash_profile
em sua adequado "bashrc' arquivo irá fazer o carregamento automático recuperado, i.é.
.início de sessão para o bash .bash_profile para o bash, .zshrc para zsh