Долго вводимый в терминале не изменяется на новую строку

Когда я ввожу долгую командную строку как dddddddddddddddddddddddddddd здесь, команда перезапишет последнюю строку, не изменяясь на новую строку.

Я сначала использую SSH соединяться с хостом, затем docker exec -it 525d5808c4a9 bash к контейнеру докера.

Вот PS1 переменная контейнера.

root@525d5808c4a9:/home/mhtan/git/pytorch-pretrained-bert/examples# echo $PS1
\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$
dddddddddddddddddddhome/mhtan/git/pytorch-pretrained-bert/examples# dddddddddddd 

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

Кто-либо может помочь с этим?

1
задан 24 January 2019 в 08:01

1 ответ

Терминальный размер в Докере является известной проблемой, и быстрое исправление предложило работы для меня:

docker exec -e COLUMNS="`tput cols`" -e LINES="`tput lines`" -ti container bash

COLUMNS и LINES переменные говорят оболочку и другие команды, каков размер терминала. Они, кажется, сброшены в терминале докера, таким образом, Вы устанавливаете их вручную.

Я думаю, что можно также использовать $COLUMNS и $LINES переменные вместо tput cols/tput lines.

docker exec -e COLUMNS="$COLUMNS" -e LINES="$LINES" -ti container bash
1
ответ дан 7 December 2019 в 15:08

Другие вопросы по тегам:

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