Normalmente, quando encontro um comando que quero alias, faço o eco para o meu .bashrc assim:
[up button pressed to last command, then line edited so that it reads]
$echo "command-i-just-did" >> ~/.bashrc
Pode haver uma maneira melhor de fazer isso. Mas, de qualquer maneira, agora eu sobrescrevi o arquivo .rc inteiro usando uma única divisa. No entanto, como o .bashrc ainda é atual, ainda está aceitando meus antigos pseudônimos (por enquanto, é claro). Então, existe uma maneira de recuperá-lo?
bash
data-recovery
bashrc
ixtmixilix
fonte
fonte
echo "set -o noclobber" > ~/.bashrc
(lembre-se de adicionar uma segunda cantoneira).bashrc
tiver alguma lógica que dependa de variáveis locais como host, usuário etc., isso provavelmente é irrecuperável. A resposta real é restaurar do seu backup mais recente. Você tem um backup recente, certo?Respostas:
alias
sem parâmetro gera as definições de aliases definidos atualmente.declare -f
gera as definições das funções definidas atualmente.export -p
gera as definições das variáveis definidas atualmente.Todos esses comandos têm definições de saída prontas para serem reutilizadas. Você pode redirecionar suas saídas diretamente para uma nova
~/.bashrc
.Todas as listas conterão muitos elementos definidos em outro lugar, por exemplo,
/etc/profile
e/etc/bash_completion
. Então você terá que limpar a lista manualmente.fonte
.bashrc
para o seu sistema. No Debian está/etc/skel
, ou você pode criar um novo usuário, se puder, para obter uma nova marca.bashrc
.set
edeclare
(sem argumentos) exibem tudo isso de uma vez.typeset -f > .bashrc
deve fazê-lo, fornecendo tudo o que você tinha eram aliases.fonte
functions
comando não existe para mim4.2.10(2)-release
. Você provavelmente quer dizerdeclare -f
.