почему экран не показывает текущее имя текущего процесса? (Mac OSX Terminal bash)

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

Вот сценарий (получен из здесь ):

$ cat ~/.screenrc 
termcapinfo xterm* [email protected]:[email protected]
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

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

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

7 голосов | спросил arnab 14 AM00000070000001631 2009, 07:37:16

1 ответ


5

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

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

export PS1='\[\033k\033\\\]\[email protected]\h:\w\$ '

и в вашем .screenrc:

shelltitle "$ |bash:"

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

ответил ars 14 AM00000080000005631 2009, 08:32:56

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132