3

Я только что установил покрытие и запустил его несколько раз, когда заметил, что в моем репо висит файл .coverage , который, согласно file утилите, является перемещаемым (8086) файлом 8086 relocatable (Microsoft) . А потом я сделал это, потому что я понятия не имел, что это было, и хотел знать, что внутри ...

~/repos/personalsite(master 7↑)$ cat .coverage
...lots of output...
≤☃─☃┼±@≤⎽☃└:·/⎼e⎻⎺⎽/≤☃─☃┼±⎽☃└↓c⎺└/≤☃─☃┼±⎽☃└(└▒⎽├e⎼ 7↑)$ 

Даже когда я пару раз нажал Enter, так и осталось. Мало того, что когда я набирал в командной строке, появлялись символы, которых я не ожидал, например

$ ↓┘ ┼⎺├ ⎺┼┌≤ ├▒▒├┬▒≤ ☃⎽ ├▒e⎼e ┼⎺├

Единственным решением было закрыть окно (tmux). Мне просто интересно (а) почему это произошло, и (б) есть ли способ исправить это в следующий раз, когда я это сделаю?

2 ответа2

3

На вопрос а): это зависит от того, какой у вас тип терминала. Просто сделайте echo $TERM чтобы увидеть, какой тип терминала у вас есть. xterm должно быть в порядке. У меня часто возникала эта проблема при подключении через последовательную консоль, и единственным рабочим типом терминала был vt100 (старый, но очень совместимый терминал). Также при изменении $TERM на vt100 через SSH у меня была такая же проблема.

на вопрос б): выполнение команды reset должно помочь. Может быть, вы видите команду также на тарабарщине, но она должна работать.

Просто для пояснения: это происходит каждый раз, когда вы пытаетесь сделать cat для двоичного закодированного файла, а не специально для файлов .coverage .

1

Буквенный символ ^N может вызывать такое поведение на определенных терминалах при печати. cat напечатал этот символ при попытке прочитать двоичный кодированный файл.

Чтобы воспроизвести это поведение, вы можете записать символ ^N в файл, используя буквенную запись символа в vi . Откройте vi , введите Ctrl-v Ctrl-n в режиме вставки и сохраните файл. Если cat этот файл, кодировка вашего терминала будет BORKED.

Буквенный символ ^O переворачивает это поведение и может быть записан в vi , введя Ctrl-v Ctrl-o.

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