nixp.ru v3.0

23 октября 2017,
понедельник,
12:50:51 MSK

DevOps с компанией «Флант»
Аватар пользователя Feuerbach
Feuerbach написал 23 мая 2005 года в 16:15 (257 просмотров) Ведет себя как мужчина; открыл 53 темы в форуме, оставил 447 комментариев на сайте.

Заметил такую особенность: когда программа, запускаемая из-под zsh, чего-то там выводит на stdout, то на терминал печатается только текст до последнего «\n». А можно бы как-нить его (zsh) настроить, чтобы если последний символ не «\n», он бы автоматом вставлялся? Имхо, было бы гораздо удобнее…

Genie

единственное, что приходит в голову — это как вообще добавить '\n' в PS1. а вот чтобы с условием, что только не на пустой строке…..

с другой стороны, я zsh особо не использовал, так что…

Feuerbach

Не думаю, что это будет работать…

Genie

ну, в bash это работает…

[user@host:~]$
[user@host:~]$ echo $PS1
[\u@\h:\w]\$
[user@host:~]$ echo -n $PS1
[\u@\h:\w]\$[user@host:~]$ PS1="\n$PS1"; echo -n $PS1
\n[\u@\h:\w]\$
[user@host:~]$
[user@host:~]$
Feuerbach

Нет, я понимаю что оно честно будет вставлять «\n» :))

Проблема-то не в том, что мне нравится/не нравится «\n».

Проблема в том, что zsh, если в конце не видит \n, просто опускает этот вывод.

feuerbach@localhost ~ $ echo -n "foo\nbar"
foo

И вряд ли ее успокоит тот факт, что «\n» будет вставлен как часть PS1…