Здравствуйте, Лазар Бешкенадзе, Вы писали:
ЛБ>Но, вроде, везде говорят что в UNIX это не нужно.
В дисковых файлах, в UNIX, действительно строки разделяют символом '\n' без '\r'.
Но вот для терминала, как для устройства, символы '\n' и 'r' имеют разный смысл. Первый переходит на следующую строку, второй возвращает курсор к началу строки.
Но дело в том, что между программой, которая пишет на терминал/консоль, отправляя байтики в stdout и самим терминалом/консолью существует еще один компонент, называется line discipline.
И у этого компонента есть своё состояние и свои функции. Например, он может автоматически превращать '\n' в последовательность "\n\r".
Я думаю, у тебя шелл при логине включает этот режим, а при выходе выключает. Отсюда вся разница.
ЛБ>В чем дело, где об этом можно почитать?