Como você redefine $ PATH sem acesso ao terminal?

0

Eu estava instalando o cpanm na minha VM do CentOS 6.6 e tentei alterar o $ PATH para que eu pudesse executá-lo.

No entanto, em vez de digitar,

echo 'export PATH="$HOME/perl5/bin:$PATH"' >> ~/.bash_profile

eu digitei

echo 'export PATH="$HOME/perl5/bin:%PATH"' >> ~/.bash_profile

e eu pareci ter sobrescrito o $ PATH porque eu posso rodar o cpanm mas nada mais. Nenhum gato, nenhum vim e nenhum comando não construído.

Eu li em algum lugar que o reinício irá redefinir $ PATH, então eu tentei. Quando tento acessar a página de login do GNOME, o sistema operacional é reinicializado instantaneamente e retorna à página de login. Por isso, nem consigo acessar o terminal para alterar as configurações.

O que está acontecendo e como posso corrigir essa situação?

    
por dorachan2010 17.10.2016 / 19:01

2 respostas

1

Como você sabe, a variável $PATH informa ao seu shell quais diretórios ele deve procurar por qualquer comando (não embutido) que você inserir. Dessa forma, você não precisa digitar /usr/bin/vim a cada vez (→ conveniência), e os scripts de terceiros podem executar bash sem precisar saber se sua distribuição Linux / UNIX em particular o coloca em /bin/bash , /usr/bin/bash , ou em outro lugar inteiramente (→ interoperabilidade).

Quando você quiser executar algo que não esteja no seu $PATH , basta fornecer ao seu shell o caminho completo para o programa, por exemplo, /usr/bin/vim .

Quanto ao GNOME se recusar a iniciar: Basta mudar para um console baseado em texto (por exemplo, Ctrl + Alt + F2 ) com seu nome de usuário e senha normais e /usr/bin/vim ~/.bash_profile de lá.

Ah, e eu provavelmente deveria mencionar como voltar de lá ...
Seu gerenciador de login gráfico normalmente será executado em tty7 , com o qual você pode alternar para Ctrl + Alt e F7 .

    
por 17.10.2016 / 19:12
0

Como a n.se já explicou como consertar sua variável $ PATH, vou apenas lhe dizer como recuperar um acesso ao shell (funciona com o grub):

  1. Reinicialize sua máquina. No prompt do grub, selecione sua distribuição do Linux e pressione 'e' (para 'editar' no local de entrada. Isso deve levar você a um editor básico.

  2. Vá para a linha que começa com 'linux / boot / ...' e anexe-a 'init = / bin / bash' (sem as aspas). Em seguida, pressione F10 (ou a chave que é dito para ser o único a arrancar, não me lembro exatamente qual deles é).

  3. Sua distro será inicializada diretamente para bash, em menos de um segundo, com a raiz ativada. Você pode então exportar novamente sua variável $ PATH para seu arquivo bash_profile (procure por exemplos na Internet se você não souber exatamente).

Quando terminar, você pode reinicializar normalmente (você não deve precisar remover a opção 'init', isso deveria ter sido feito automaticamente).

Espero que tenha ajudado:)

    
por 17.10.2016 / 19:24

Tags