ドットファイルを含む短縮された現在のディレクトリを使用するbashプロンプト?

ドットファイルを含む短縮された現在のディレクトリを使用するbashプロンプト?

私の.bash_profileには次のものがあります(fromエマルジョンここで:

PROMPT_COMMAND='pwd2=$(sed "s:\([^/]\)[^/]*/:\1/:g" <<<$PWD)'
PS1='\u@\h:$pwd2\$ '

ただし、現在のディレクトリが.dir(たとえば、//.vim/bundle/)内にある場合、プロンプトには.:のみが表示されます。

chris@DeathStar:/U/c/./bundle$

ドットがない場合は、すべてのディレクトリ名に対して1文字を予約したいと思います。この場合、次のように2文字を表示します。

chris@DeathStar:/U/c/.v/bundle$

私のホームディレクトリも次のように表示する方が良いでしょう~

chris@DeathStar:~/.v/bundle$

どんなアイデアがありますか?

ベストアンサー1

これはトリックを実行しているようです.。キャプチャにオプションを追加します。

PROMPT_COMMAND='pwd2=$(sed "s:\(\.\?[^/]\)[^/]*/:\1/:g" <<<$PWD)'
PS1='\u@\h:$pwd2\$ '

「より良い」のために:

PROMPT_COMMAND='pwd2=$(sed -e "s:$HOME:~:" -e "s:\(\.\?[^/]\)[^/]*/:\1/:g" <<<$PWD)'
PS1='\u@\h:$pwd2\$ '

おすすめ記事