Quando ssh no meu ubuntu-box executando o Hardy 8.04, as variáveis de ambiente no meu .bashrc
não são definidas.
Se eu fizer uma fonte .bashrc
, as variáveis estão definidas corretamente e tudo está bem.
Como .bashrc
é que não é executado no login?
.bashrc
e.bash_profile
!Respostas:
.bashrc
não é fornecido quando você faz login usando SSH. Você precisa obtê-lo da.bash_profile
seguinte maneira:fonte
.bashrc
é fornecido quando você faz o SSH, por padrão..bashrc
para uso - mas faz isso.profile
não.bash_profile
.Eu tive uma situação semelhante como Hobhouse. Eu queria usar o comando
e 'some_command' existe em '/ var / some_location', então tentei acrescentar '/ var / some_location' no ambiente PATH editando '$ HOME / .bashrc'
mas isso não estava funcionando. porque o padrão .bashrc (Ubuntu 10.4 LTS) impede a fonte de código como abaixo
Então, se você deseja alterar o ambiente para o shell ssh sem login. você deve adicionar código acima dessa linha.
fonte
bash # If not running interactively, don't do anything case $- in *i*) ;; *) return;; esac
Para um excelente recurso sobre como a chamada bash funciona, quais arquivos de ponto fazem o que e como você deve usá-los / configurá-los, leia isto:
fonte
Se a solução da ayman não funcionar, tente nomear seu arquivo em
.profile
vez de.bash_profile
. Isso funcionou para mim.fonte
.profile
deve ser executado por qualquer shell de login, independentemente de o referido shell pretender gerar uma GUI. Seu comentário contradiz totalmente a pergunta e a resposta, que indicam claramente que.profile
é invocado no SSHing in - um método distintamente não GUI.