Eu acho que você de alguma forma acabou com
sh -> bash
bash -> bash
Quando o sistema tentar executar um shell pela primeira vez, ele entrará em loop resolvendo bash
,
que é, de acordo com o symlink,
o mesmo que bash
, que é o mesmo que bash
, que é o mesmo que bash
, que é o mesmo que bash
... até que a memória permita que isso acabe.
Para corrigir o problema, precisamos saber o que era /bin/sh
, normalmente ele aponta para bash
ou para dash
. Qual distribuição Linux você usa?
Existem outros shells instalados normalmente, como dash
ou zsh
, mas como o sistema procura sh
ao iniciar, não vejo como usar esses recursos sem ajuda externa.
Acho que você precisará inicializar um sistema ao vivo a partir de um CD ou conectar o disco rígido a outro computador;
E a partir daí, monte o disco raiz e corrija o link.
Se o shell foi realmente excluído pela "força" em ls -sf
, você precisa obter o binário do shell de algum lugar.
Poderia também trabalhar para vincular /bin/sh
a um shell similar, não àquele para o qual ele estava apontando - (mas isso parece ser o que você estava fazendo por último).
O
sudo ln -sf bash /bin/bash
poderia ter excluído /bin/bash
, mas quando tento algo semelhante, recebo um erro:
ln: bash and /bin/bash are the same file
Você tem certeza sobre os comandos? Em qual diretório você os executou?