Comando não está funcionando no .profile

1

No meu .profile, tenho o seguinte comando,

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"

Agora, para obter meu comportamento desejado, eu tenho que digitar source ~/.profile no terminal. Eu gostaria que isso fosse automático (já que é no .profile), mas não é. Alguma idéia?

Meu .profile está sendo executado quando eu faço o login (testei com export foo=bar ).

    
por countunique 11.06.2013 / 23:28

1 resposta

2

~/.profile não é usado apenas pelo bash, ele também é usado por outros shells posix. Quando você faz login graficamente no Ubuntu, ~/.profile é originado por sh , que não tem [[ ou source .

EDITAR

Depois de um pouco de pesquisando sobre este material de RVM, parece que é um script bash, então mudar para a sintaxe posix sh não funciona; o script simplesmente não pertence a ~/.profile .

Uma maneira de contornar isso pode ser a origem de ~/.bashrc . A desvantagem disso é que, quaisquer que sejam as variáveis de ambiente que ele definir, só estarão disponíveis para os shells de bash. por exemplo. comandos que dependem dessas variáveis de ambiente não podem ser executados diretamente de um lançador.

    
por geirha 12.06.2013 / 00:41