Maneira fácil de restaurar o seu MANPATH

3

Eu estava tentando adicionar as man pages da minha distribuição texlive hoje, quando acidentalmente fiz isso:

$ MANPATH=MANPATH:/usr/local/texlive/2011/texmf/doc/man
$ export MANPATH

... quando eu quis dizer isso:

$ MANPATH=$MANPATH:/usr/local/texlive/2011/texmf/doc/man
$ export MANPATH

O resultado é que eu tenho um $ MANPATH muito inútil que se parece com isso:

$ echo $MANPATH
$ MANPATH:/usr/local/texlive/2011/texmf/doc/man

Existe uma maneira rápida de adicionar todas as páginas man no $MANPATH ?

    
por MattLBeck 03.08.2011 / 16:37

3 respostas

5

Variáveis exportadas desse modo são efetivas apenas em seu shell atual e em qualquer processo filho. Se você não salvou esses comandos no seu perfil ou no arquivo shell-rc, quaisquer novos shells que forem iniciados deverão ter o valor original novamente.

Fechar seu shell atual e iniciar um novo é a maneira mais simples de obter um conjunto significativo de env de variáveis.

    
por 03.08.2011 / 16:46
1

Se você se preocupa com sua sessão atual do shell, pode usar o seguinte:

MANPATH=$(source /etc/profile; echo $MANPATH)

Mas a maneira mais fácil pode ser simplesmente iniciar uma nova sessão, no caso de você não se importar com o ambiente e as variáveis atuais do shell.

Nota: O comando acima inicia um novo processo que lê o sistema /etc/profile (fornecendo todas as definições básicas para variáveis de ambiente) e imprime o valor "resetado" de MANPATH . A construção $() colocará a saída desse processo no MANPATH do shell. Outras redefinições devidas a source /etc/profile não afetarão o shell atual, apenas o subprocesso.

    
por 03.08.2011 / 16:46
1

Com algumas implementações man , o comando manpath -g mostra o caminho padrão do sistema man. Se sua implementação não tiver um comando manpath , verifique em man man qual é o valor padrão. Mas se você tivesse uma variável MANPATH definida, provavelmente seria diferente do valor padrão.

Não há uma maneira mágica de obter o valor anterior de uma variável de ambiente. Se você configurá-lo nesta sessão de shell, a configuração anterior ainda pode estar no histórico do shell; tente procurar por uma atribuição anterior (por exemplo, Ctrl + R MANPATH= no bash ou zsh). Se a variável de ambiente foi definida em algum arquivo de configuração lido no momento do login, apenas inicie um shell em outro terminal e copie e cole o valor de lá.

    
por 03.08.2011 / 23:45