Restaurando ~ / .bashrc sem usar comandos bash
Acho que cometi um erro de digitação ao adicionar um caminho ~/.bashrce, depois de obtê-lo, não posso mais usar comandos bash.
Agora eu quero restaurar um normal ~/.bashrc, porém a maior parte da discussão que encontrei (por exemplo, Como consertar um .bashrc que foi editado incorretamente? ) Precisa usar comandos bash, por exemplocp
clam@cuerei:~# cp /etc/skel/.bashrc ~
cp: /home/cltam/script/lib/libc.so.6: version `GLIBC_2.17' not found (required by cp)
Posso saber como posso restaurar ~/.bashrcsem usar comandos bash?
Obrigado.
Respostas
cpnão é um comando bash - é um programa externo. É por isso que falha; Os comandos bash reais não seriam afetados por alterações de biblioteca ou caminho. Então você quer o oposto, ou seja, usando apenas comandos bash.
Você pode excluir o conteúdo do arquivo completamente, usando:
true > ~/.bashrc
Ou substitua por algum outro conteúdo:
echo "" > ~/.bashrc
Ou você pode tentar desfazer temporariamente as alterações ruins no shell ao vivo:
unset LD_LIBRARY_PATH LD_PRELOAD LD_AUDIT
export PATH=/bin:/usr/bin
cp /etc/skel/.bashrc ~
Ou você pode copiar o conteúdo do arquivo, linha por linha, usando apenas os internos do shell:
while IFS="" read -r line; do
echo "$line";
done < /etc/skel/.bashrc > ~/.bashrc
Você está atualmente logado no sistema? Nesse caso, você pode mudar para outro shell e editar o arquivo
> chsh
> vi ~/.bashrc
Você quebrou o caminho da biblioteca que é usado para programas vinculados dinamicamente. Eles não contêm todo o código necessário para executar o programa, mas carregam alguns de bibliotecas compartilhadas no momento da inicialização.
Alguns programas são compilados para evitar esse problema (por exemplo, para programas executados como root ou necessários no início do processo de inicialização). Eles são tradicionalmente colocados em /sbine /usr/sbin. O que exatamente está lá depende do que está instalado.
No meu Mac, não parece que haja um editor disponível, mas seu sistema pode ter.
Segui a sugestão de @Peter Cordes para desfazer minha edição: unset LD_LIBRARY_PATH.
Muito obrigado!