Re: Carriage Return
От: Pzz Россия https://github.com/alexpevzner
Дата: 23.04.26 19:27
Оценка: 5 (1)
Здравствуйте, Лазар Бешкенадзе, Вы писали:

ЛБ>Но, вроде, везде говорят что в UNIX это не нужно.


В дисковых файлах, в UNIX, действительно строки разделяют символом '\n' без '\r'.

Но вот для терминала, как для устройства, символы '\n' и 'r' имеют разный смысл. Первый переходит на следующую строку, второй возвращает курсор к началу строки.

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

И у этого компонента есть своё состояние и свои функции. Например, он может автоматически превращать '\n' в последовательность "\n\r".

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

ЛБ>В чем дело, где об этом можно почитать?


Ну, например, man stty, man termios
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.