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.

Foi útil?

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.

iTerm Preferences

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

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top