Nenhum caminho sendo definido no login - o bash não está carregando corretamente?

0

Eu não sei se isso é por causa do virtualenv, mas eu corri o comando virtualenv para configurar um ambiente de tensorflow. Agora nenhum caminho é carregado. Nada funciona. Para fazer comandos básicos (como ls ), tenho que executar o script completo ( /bin/ls ). Não consigo fazer nada, a menos que eu execute manualmente a exportação de todos os caminhos:

$ export PATH=/bin/:$PATH

etc.

Mesmo depois de sair e voltar (através do SSH), nada é carregado.

Curiosamente, .bashrc e .bash_profile são carregados (mas não com sucesso, pois não podem executar alguns dos comandos como source ). Também devo observar que eu não tenho acesso root nesta máquina, então eu não posso mudar (ou quebrar) qualquer coisa globalmente.

Eu não pude sair do virtualenv também, já que "desativar" não funcionou.

O que eu quebrei?

    
por Sefu 24.02.2016 / 00:37

1 resposta

1

Você provavelmente substituiu a variável $PATH , em vez de estendendo isso.

Em um de seus arquivos de inicialização do shell, você provavelmente tem uma tarefa como

PATH="/some/path"

em vez de

PATH="/some/path:$PATH"

Tente descobrir onde você atribui o PATH e certifique-se de que eles nunca substituam $PATH , mas o estenda :

/usr/bin/grep 'PATH=' ~/.bash*

Se você não conseguir encontrar o que está errado de imediato, atualize sua resposta com os snippets pertinentes desses arquivos.

Como uma solução alternativa até que você tenha corrigido os erros no seu shell script, você pode olhar para /etc/profile onde o $PATH em todo o sistema é definido na maioria das distribuições Linux / BSD. Correndo

'export PATH="/usr/bin:/usr/local/bin:$HOME/bin"'

deve fornecer acesso a todas as ferramentas instaladas no local padrão.

O ponto de virtualenv é que você defina seus ambientes em uma base por projeto para não sobrecarregar seus arquivos de inicialização do shell com código específico do ambiente. Remova (comente) todos os scripts de configuração relacionados a ele e confie na ferramenta virtualenv para criar / atualizar um ambiente por diretório para você.

    
por 24.02.2016 / 01:29