2

На моем рабочем месте есть несколько независимых сетей, с которыми я работаю, и все они работают под различными версиями RedHat Linux 4, 5 и 6.

В одной из этих сетей я не могу использовать bash (или, как я выяснил, все, что использует интерфейс bash, например, python, gdb и т.д.), Потому что, когда я пытаюсь напечатать это:

> exit

Я вместо этого получаю:

> HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH<control-C>

Пока я не нажму control-C (для bash или gdb) или, в другом терминале, не использую python killall для python.

Моя основная рабочая оболочка - tcsh, но я использую bash для всех своих сценариев. Я также иногда заглядываю в оболочку в интерактивном режиме, чтобы делать простые циклы и тому подобное. К счастью, «выход» в моей истории, поэтому я могу использовать стрелку вверх, чтобы вернуть его и выйти.

Просто чтобы прояснить: это происходит только тогда, когда я запускаю эти программы в интерактивном режиме. Не имеет значения, запустил ли я оболочку:

> bash

> bash --login

> env bash --login

> env bash

Это происходит независимо от того, удаляю ли я файлы bash_profile и bashrc или нет. AFAIK, в профиле системы нет ничего, что могло бы вызвать это.

Я совершенно в недоумении, как даже найти это! Я был бы очень признателен за любую помощь, которую может предложить любой!

ТИА!

2 ответа2

4

Итак, с помощью предложения от Чороба, я понял это.

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

Пытаясь это исправить, я поместил операторы печати в различные профили и файлы ресурсов, чтобы я мог видеть, какие из них даже запускались, чтобы отследить, почему что-то сломалось.

Я не осознавал, что, в отличие от любого другого файла, оканчивающегося на «rc», «.inputrc» не получает RUN, а PARSED. И это странно анализируется. Итак, у меня было это в .inputrc:

echo "Hello..."

Что каким-то образом интерпретируется системой привязки (которая, по-видимому, только bash, gdb, python и, возможно, некоторые другие вещи, которые я еще не использовал, на самом деле) как «когда пользователь печатает e, печатает H бесконечно». Что, очевидно, я и имел в виду.

Теперь у меня есть функционал bash, python и gdb! Спасибо!

3

быстрый взлом,

$ i () { printf "%x" 14;}

или же

$ i () { printf \\x65;}
$ l`i`ss
Missing filename ("less --help" for help)
$ `i`xit

еще один взлом,

$ E^b^[l

Это делает Е ниже.

Это может помочь,

$ bind -m `i`macs

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .