Текстовые редакторы не работают

Возникла немного странная ситуация. В основном по причинам, не зависящим от меня, я нахожусь на сервере, который настроил кто-то другой. У меня есть доступ к sudo, я просто не могу понять, что случилось, или найти какую-либо документацию.

Когда я открываю .bashrc ( sudo nano ~ / .bashrc ), я получить статическое представление, которое просто перезаписывает верхнюю строку. Я могу выйти, только нажав , введите после нажатия Ctrl + X . Снимок экрана ниже.

enter image description here

То же самое происходит с vi , и, очевидно, это делает невозможным редактирование чего-либо на сервере. У кого-нибудь есть идея, что здесь может происходить? Я много гуглил, но заблокировать это сложно.

Ответ lsb_release -a вставлен ниже.

Distributor ID: Ubuntu
Description:    Ubuntu 18.04.2 LTS
Release:    18.04
Codename:   bionic

В поисках странного кода я обнаружил следующее в .bashrc :

case $- in
    *i*) ;;
      *) return;;
esac

Я не уверен, что здесь происходит, tbh, но это единственное, что я не узнал, так что это могло быть связано?

2
задан 7 May 2019 в 20:38
4 ответа

Вы подразумеваете, что это происходит с любым файлом, который вы пытаетесь редактировать.

Я думаю, что bashrc выглядит нормально, я видел похожие код в https://gist.github.com/aakbar5/2969095d8dd11e95a282157c2ca29b39 , и объясняется, почему этот оператор case там.

Если вы думаете, что заменив справку bashrc, вы можете редактировать файл без редактор. Сначала сделайте резервную копию. Здесь используется документ

cat > ~/.bashrc <‘HT’
# replacement goes here

HT

Что касается текстовых редакторов, каков путь к каждому из них?то есть, каков результат , который vi ?

0
ответ дан 3 December 2019 в 10:31

Попробуйте запустить редактор по вашему выбору в сеансе screen . Это помогает мне с такими проблемами в 99% случаев. Я также считаю, что это проблема с настройкой TTY / некоторыми переменными Xterm, вы можете попробовать экспортировать вывод env с другого компьютера и получить такой файл на этом, проверяя, решает ли это проблему должным образом, но я сначала будет использовать экран

0
ответ дан 3 December 2019 в 10:31

Добавьте в нижнюю часть файла следующую строку:

export EDITOR=/path/vi

path= Расположение редактора vi.

Вы можете выполнить команду в текущем терминале перед редактированием .bashrc.

.
0
ответ дан 3 December 2019 в 10:31

Похоже, кто-то испортил (виртуальные) настройки tty, которые лучше всего оставить в покое в 21 веке, если, конечно, вы на самом деле не используете старинный физический терминал из компьютерного музея...

С помощью команды (запустить на удаленном сервере, сразу после входа в систему):

stty sane

После того, как терминал заработает, ищите такие команды как stty или tput в скриптах запуска оболочки, которые могут делать странные вещи с tty.

.
3
ответ дан 3 December 2019 в 10:31

Теги

Похожие вопросы