Я думаю, что вы как-то закончили
sh -> bash
bash -> bash
Когда система впервые пытается запустить оболочку, она входит в цикл, разрешающий bash , который, согласно символической ссылке,
то же самое, что bash , то же самое, что bash , то же самое, что bash , то же самое, что bash ... до тех пор, пока не будет исчерпана память для этого.
Чтобы решить эту проблему, нам нужно знать, что раньше было /bin/sh , обычно оно указывает на bash или dash . Какой дистрибутив Linux вы используете?
Обычно устанавливаются другие оболочки, такие как dash или zsh , но поскольку система ищет sh при запуске, я не вижу способа использовать их без посторонней помощи.
Я думаю, вам нужно будет загрузить работающую систему с компакт-диска или подключить жесткий диск к другому компьютеру;
А оттуда смонтируйте корневой диск и исправьте ссылку.
Если оболочка действительно была удалена командой "force" в ls -sf , вам нужно откуда-то получить двоичный файл оболочки.
Может также сработать, чтобы связать /bin/sh с похожей оболочкой, а не с той, на которую она указывала - (но, похоже, это было то, что вы делали в последний раз.)
The
sudo ln -sf bash /bin/bash
мог удалить /bin/bash - но когда я пытаюсь что-то подобное, я получаю сообщение об ошибке:
ln: bash and /bin/bash are the same file
Вы уверены в командах? В каком каталоге вы их запускали?