Я добавил следующую строку в конец своего ~/.bashrc
(Это в коробке Linode) и вышел из моего сеанса ssh.
source ~/.profile
Теперь, когда я вхожу в систему, оболочка не отвечает. Я никогда не попадаю в подсказку, и ввод команд ничего не делает.
Если я Ctrl-c, он закрывает соединение ssh. Ctrl-z тоже ничего не делает. Я не могу получить доступ к ~/.profile
чтобы попытаться понять, в чем проблема.
Как мне вернуть подсказку?
Люди уже спрашивали вас, как это исправить. Но почему это случилось с вами?
В Debian / Ubuntu этот фрагмент кода находится в ~/.profile
:
# if running bash
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
fi
Итак, по умолчанию ~/.profile
включает ~/.bashrc
. Если вы скажете ~/.bashrc
включать ~/.profile
, вы создаете бесконечный цикл.
Чтобы вернуть свою оболочку, просто используйте эту процедуру.
Надеюсь, вы помните содержимое .bashrc, которое там было раньше. Должно получиться примерно так:
# .bashrc
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
Поместите их в файл с тем же именем, .bashrc, на машине, откуда вы можете получить доступ к своей машине Linode.
Теперь используйте эту команду:
# scp .bashrc server:.
Это заменит ваш измененный .bashrc на этот по умолчанию, и вы сможете вернуть свою оболочку.
Пожалуйста, дайте мне знать, если у вас возникнут проблемы с этим.