Posso recuperar meu .bash_profile de uma aba Terminal aberta?

4

Na verdade, estou usando um MacBook Pro e sou bem novo no sistema operacional não Windows (sei lá, por vergonha!), e cometi o erro de sobrescrever meu perfil bash, em vez de anexá-lo a ele. .. (n00b!).

O que eu tenho é um par de abas abertas no Terminal, e estou esperando que possa haver uma maneira de recuperar meu .bash_profile disso (ou de qualquer forma realmente).

    
por Fifer Sheep 03.04.2015 / 21:45

3 respostas

5

Se o seu terminal ainda estiver aberto, digite env : ele exibirá todas as suas variáveis de ambiente. Se é uma instalação nova ou se você nunca fez nenhuma mudança, as variáveis mais importantes são PATH (esta sempre existe) e LD_LIBRARY_PATH (pode não existir, eu não estou acostumado a osx).

Por exemplo:

$ env
...
PATH=/usr/bin:/bin:/home/user/bin:/sbin
...

Também é comum encontrar .bashrc nesse arquivo.

Em seguida, você pode editar seu .bash_profile para adicionar uma linha como esta:

# Source your .bashrc
if [ -f ~/.bashrc ]; then
  source ~/.bashrc
fi

# Export the interesting env variables you
#   displayed from env command previously
export PATH=/usr/bin:/bin:/home/user/bin:/sbin

Não é uma solução real, já que não é um "backup" real, mas lembre-se de que, enquanto seu terminal estiver aberto, você poderá conhecer suas variáveis de ambiente e o objetivo principal de .bash_profile é definir essas variáveis. / p>

Além disso, você pode ter alguns aliases: no terminal aberto, digite alias para exibir todos os aliases definidos. Você pode copiar e colar a saída como está em seu .bash_profile . (obviamente, se esses aliases estiverem disponíveis no seu .bashrc , não será necessário defini-los no seu .bash_profile , já que você deve obter .bashrc anteriormente).

    
por 03.04.2015 / 23:32
2

Você parece estar perguntando implicitamente se existe um lugar na RAM onde o conteúdo desse arquivo está armazenado. A resposta é não." O arquivo é simplesmente lido e executado durante a inicialização do shell e depois descartado. Nenhum shell Unix precisa de acesso contínuo a seus scripts de inicialização.

Alguns do conteúdo do arquivo ainda podem ser recuperados, por resposta do apaul .

Existe uma pequena chance de haver fragmentos do próprio arquivo na RAM liberada que ainda não foram realocados ou retornados ao sistema operacional, mas provavelmente não vale a pena tentar construir um programa para despejar o conteúdo de RAM para um arquivo de disco e, em seguida, passeie por ele para tentar encontrar o conteúdo do arquivo.

Aceite as lições que recebeu e aprenda com elas:

  1. Pense duas vezes antes de pressionar Enter em um comando que envolva > em vez de >> , da mesma forma que você aprendeu a ter cuidado com os comandos rm .

  2. Configure o , o mais rápido possível.

    Era uma vez, não ter um backup recente era uma história triste, mas muito comum. Agora é imperdoável. A Apple foi e tornou tão fácil quanto você poderia razoavelmente perguntar.

por 03.04.2015 / 22:16
2

Isso aconteceu comigo e eu me recuperei da seguinte forma ...

Vars e funções definidas:

$ declare > definitions.bash.txt

Aliases:

$ alias > aliases.bash.txt
    
por 11.04.2018 / 14:34