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?

Foi útil?

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.

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