.bashrc no início da sessão ssh [fechado]
Pergunta
Quando eu ssh em meu ubuntu-box correndo Hardy 8,04, as variáveis ??de ambiente em meus .bashrc são não definido.
Se eu fizer um .bashrc fonte, as variáveis ??são definidas corretamente, e está tudo bem.
Como é que .bashrc não é executado no início da sessão?
Solução
.bashrc
não é originado quando você login usando SSH. Você precisa de fonte-lo em seu .bash_profile
assim:
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
Outras dicas
Tive situação semelhante como Hobhouse. Eu queria usar o comando
ssh myhost.com 'some_command'
e 'algum_comando' existe em '/ var / some_location' então eu tentei acrescentar '/ var / some_location' em ambiente PATH editando '$ HOME / .bashrc'
mas que não estava funcionando. porque .bashrc padrão (Ubuntu LTS 10,4) impedem de abastecimento por código como abaixo
# If not running interactively, don't do anything
[ -z "$PS1" ] && return
Então, se você quer ambiente de mudança para shell ssh non-login. você deve adicionar o código acima dessa linha.
Para um excelente recurso sobre como funciona o bash invocação, o que dotfiles fazer o que, e como você deve usar / configurá-los, leia isto:
Se a solução da ayman não funcionar, tente nomear seu .profile
arquivo em vez de .bash_profile
. Que funcionou para mim.