Eu estou usando o Arch Linux com o MATE como ambiente de desktop. Então, o emulador de terminal é o MATE Terminal. Recentemente instalei Jekyll com gem install jekyll
. Mas quando eu corri jekyll -v
diz bash: jekyll: command not found
. Então eu tentei adicionar o caminho do Jekyll para a variável PATH.
Irã PATH=$PATH/$HOME/.gem/ruby/2.2.0/bin
e funcionou perfeitamente. Agora posso executar comandos jekyll. Para adicioná-lo permanentemente à variável PATH, editei o ~/.bash_profile
arquivo como segue. Não está funcionando após a reinicialização. Mas
source ~/.bash_profile
funciona perfeitamente.
#
# ~/.bash_profile
#
[[ -f ~/.bashrc ]] && . ~/.bashrc
export PATH="${PATH}:/home/heisenberg/.gem/ruby/2.2.0/bin"
De acordo com ArchWiki esta é a maneira correta de concatenar algo permanentemente ao PATH. Mas não está funcionando. Alguém pode me descobrir onde está o errado?
[N. B.: Adicionando a mesma linha em ~/.bashrc
está indo bem.]
Respostas:
0 para resposta № 1Dependendo da opção que é dada, bash
pode ser executado como um escudo interativo ou shell de login. O padrão escudo interativo modo não lê ~/.bash_profile
. shell de login bash do.
Vejo:
Primeiro, alguma configuração:
% cat ~/.bashrc
…
export BASHRC="yes"
…
% cat ~/.bash_profile
…
export BASH_PROFILE="yes"
…
Agora execute um regular (interativo) bash:
% bash
[galaux@magenta ~]$ echo $BASHRC
yes
[galaux@magenta ~]$ echo $BASH_PROFILE
Observe que nós fizemos não obter yes
com este último.
Agora com um entrar Concha:
% bash --login
[galaux@magenta ~]$ echo $BASHRC
yes
[galaux@magenta ~]$ echo $BASH_PROFILE
yes
Veja o parágrafo INVOCAÇÃO a partir de man bash
.