シェルでパスを表示するにはどうすればよいですか?ただし、pwd からの固定番号のみですか?

シェルでパスを表示するにはどうすればよいですか?ただし、pwd からの固定番号のみですか?

基本的には、次のようなものを表示したいです:

[email protected]:../projects/1234/source$ cd cpp
[email protected]:../1234/source/cpp$

の代わりに:

[email protected]:/opt/home/me/dev/projects/1234/source$ cd cpp
[email protected]:/opt/home/me/dev/projects/1234/source/cpp$

私は2番目を以下を使用して達成しましたがPS1='$(whoami)@$(hostname):$(pwd)$ '、これをどのように変更するか(または私のシナリオでそれが可能かどうか)はわかりません。

答え1

この質問は以前にもされており、いくつかの回答が提案されています:

bash マニュアルこれについては説明しているが、詳細には触れていない。

プロンプト_DIRTRIM

0 より大きい数値に設定すると、その値は、プロンプト文字列エスケープを展開するときに保持する末尾のディレクトリ コンポーネントの数として使用されます\w(\Wプロンプトの制御を参照)。削除された文字は省略記号に置き換えられます。

関連情報