Mac OSXターミナルアプリ(bash)内でscreenを実行しています。
これがscreenrcです( ここ から取得):
$ 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
しかし、画面の中には「何?」と表示されます。 (デフォルト)process-nameの代わりに。これは、「$」が機能していないことを示しています。
何が足りないのですか?そして、「$ | something-else」はどのように機能しますか?
Bashプロンプトは何に設定されていますか(つまり、PS1変数)?
.bashrc
または.profile
で次を試してください。
export PS1='\[\033k\033\\\]\u@\h:\w\$ '
そしてあなたの.screenrcで:
shelltitle "$ |bash:"
これは私が持っているものであり、それは機能します。基本的に、画面には、実行中のコマンドを取得できるように、プロンプトがどのように終了するかを知るためのマジックストリングが必要です。変更することもできますが、その仕組みの詳細については、このページの説明を参照してください。