Uma coisa que você pode tentar é recuperar seu .bashrc
da memória de uma instância em execução do bash. No Linux, execute gcore PID
para fazer um despejo de memória de um processo especificado por seu PID. Se isso tem uma chance de funcionar depende de como o bash gerencia sua memória; Eu não verifiquei o código-fonte para ver se é possível. Isso não funciona para mim no Debian jessie amd64.
Se isso não funcionar, você poderá salvar suas configurações atuais, mas não poderá recuperar a maneira como elas foram definidas, portanto, muitas informações serão perdidas. Se você tiver uma configuração que depende da máquina, do tipo de terminal, etc., você só recuperará as configurações para quaisquer instâncias do bash que ainda estiverem sendo executadas.
-
Imprima todas as variáveis em um formulário que possa ser lido de volta. Isso inclui muito barulho que você terá que resolver. Variáveis de ambiente (marcadas com
declare -x
) não deve ser definido no seu.bashrc
, mas você pode ter feito isso de qualquer maneira. Remover variáveis que bash define automaticamente (verifique o manual e veja a saída dedeclare -p
inbash --norc
).declare -p
-
Imprima todas as funções. Isso inclui funções não definidas por você, por exemplo, funções definidas pelo sistema de conclusão (para o qual você deseja
. /etc/bash_completion
).declare -f
-
Imprimir aliases. Estes provavelmente podem ser usados como são.
alias
-
Imprima opções de shell. Compare com a saída de
shopt
embash --norc
para ver o que você mudou.shopt
-
Imprima as configurações de conclusão (se você usar o sistema de conclusão sensível ao contexto). A maioria deles provavelmente vem do sistema de completação; encontrar os que você ajustou pode ser um pouco difícil.
complete
-
Imprime as combinações de teclas, se você tiver definido as combinações de teclas em
.bashrc
em vez de em.inputrc
. Isso inclui ligações padrão.bind -p
A partir de agora, faça backup de todos os seus arquivos e coloque seus arquivos de configuração sob controle de versão.