
基本的には、次のようなものを表示したいです:
[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
この質問は以前にもされており、いくつかの回答が提案されています:
- ターミナルコマンドプロンプトの作業ディレクトリをトリミングするAskUbuntu では、カスタム スクリプトを使用して、を設定する
PROMPT_COMMAND
(つまり set にする) ことが提案されています。別の人は、bash 4.x を使用している場合は変数がサポートされると述べています (また、古いバージョンの bash の場合は回避策を提案しています)。PS1
PROMPT_DIRTRIM
- コマンドライン (bash) プロンプトを短くするにはどうすればいいですか?AskUbuntu で再度言及します
PROMPT_DIRTRIM
。
のbash マニュアルこれについては説明しているが、詳細には触れていない。
プロンプト_DIRTRIM
0 より大きい数値に設定すると、その値は、プロンプト文字列エスケープを展開するときに保持する末尾のディレクトリ コンポーネントの数として使用されます
\w
(\W
プロンプトの制御を参照)。削除された文字は省略記号に置き換えられます。