7

Я запускаю экран в приложении Mac OSX Terminal (bash).

Вот скриншот (получил его отсюда):

$ cat ~/.screenrc 
termcapinfo xterm* ti@:te@
startup_message off
defutf8 on
shelltitle "$ |what?" # make screen assign window titles automatically
hardstatus alwayslastline
hardstatus string '%{= kw} [ %{= kb}%H%{= kw} ][%= %{= kw}%?%-Lw?%{= kW}%n*%f %t%?%?%{= kw}%?%+Lw%?%?%= ][ %{r}%l%{w} ]%{w}[%{r} %m/%d/%y/ %C %A %{w}]%{w}'
$

Как видно, у меня есть строка для отображения текущего имени процесса в качестве заголовка на экране:

shelltitle "$ |what?" # make screen assign window titles automatically

Но внутри экрана я просто вижу "что?"(по умолчанию) вместо имени процесса. Что говорит о том, что «$» не работает.

Что мне не хватает? И как работает «$ | что-то еще»?

1 ответ1

5

Какова ваша подсказка bash (то есть переменная PS1)?

Попробуйте следующее в вашем .bashrc или .profile:

export PS1='\[\033k\033\\\]\u@\h:\w\$ '

и в вашем .screenrc:

shelltitle "$ |bash:"

Это то, что у меня есть, и это работает. По сути, экрану нужна волшебная строка, чтобы узнать, как заканчивается ваше приглашение, чтобы он мог подобрать команду, которая выполняется. Вы можете изменить его, но см. Объяснение на этой странице для получения дополнительной информации о том, как это работает:

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .