Описанный признак вызван escape-последовательностью rc
(курсор восстановления). Если подумать, то вероятным источником проблемы является vim:
.screenrc
программа screen
имитирует функцию альтернативного экрана xterm. smcup
и rmcup
(termcap ti
и te
) 1049
.
программа имитирует эти операции. tput sc
), tput smcup
tput rmcup
), и, наконец, tput rc
), tput sc
. vim - и плагины vim - могут отправлять escape-последовательности.Кажется, что что-то во время выхода из vim отправляет escape-последовательность для восстановления курсора. Для быстрой проверки здесь vim вёл себя правильно (но конфигурации и версии различаются). Так что я бы проверил плагины.
Если бы я занимался отладкой этого случая, я бы захватил символы, отправленные на экран (например, используя скрипт
), и поискал бы наиболее часто используемые последовательности для rc
:
Было бы неплохо, если бы screen
более точно соответствовал поведению xterm, но в конечном итоге кажется, что есть проблема с vim
отправкой неожиданных последовательностей курсора сохранения / восстановления.
Связанное чтение:
Вместо
shell: echo {{ item }} >> /tmp/ips
with_items: "{{ ip }}"
template:
src: ips.j2
dest: /tmp/ips
с шаблоном ips.j2
{% for item in ip %}
{{ item }}
{% endfor %}
ansible_all_ipv4_addresses
уже является массивом, поэтому вам не нужно split
его:
- copy:
dest: /tmp/ips
content: "{{ ansible_all_ipv4_addresses | join('\n') }}"
Это даст желаемый результат.