PS1でパス区切り記号を強調表示

PS1でパス区切り記号を強調表示

Bashで次のことをしたいと思います。

zshプロンプトでパス形式を指定する方法は?

しかし、私が試したすべての結果は、PWDターミナルを起動した最初のディレクトリに固定されました。奇妙なことに、PS1現在のgitブランチをプロンプトに入れて、常に更新する機能もあり、なぜ停止したのかPWD迷います。私の現在のヒントここところで。

\w交換しようとしましたが、$(pwd|grep --color=always /)詰まっています。また、これを行うためにbash文字列置換を試しましたが、そのうちの1つも機能しませんでした。${PWD////$bldred/$bldblu}($bldredと$bldblueはプロンプト.shで定義されています。)

答え1

プロンプトに動的変数を含めるときは、それを引用する必要があります。

PROMPT_COMMAND 項目の一部をよく理解していません。PS1='${PWD////'"$bldred/$bldblue"'} \$'自分で試してみて、機能していることを確認してください。

答え2

スクリプトの最後の部分:

case "$TERM" in
xterm*|rxvt*)
    PS1=...
...

設定すると役に立ちません$PROMPT_COMMAND。バージョンは$PS1一度だけ実行されます。したがって、スクリプトを初めて実行した後、タイトルの更新は表示されません。$PROMPT_COMMAND他のすべてと一緒にタイトルの変更を追加する必要があります。

switch実際のポイントに移動

if [ "$color_prompt" = yes ]; then

そしてその上にさまざまなバージョンを構築してください$PROMPT_COMMANDS。私のために動作します。

関連情報