シェルプロンプトのカレントディレクトリ略語

シェルプロンプトのカレントディレクトリ略語

時には、シェルプロンプトで現在の作業ディレクトリが短縮されているように見えたり、そうでない場合があります。

たとえば、またはでマークさ/usr/binれます。それ以外の場合は、完了とマークされているのを見ました。bin$/folder1/folder2folder2$/folder1/folder2/folder1/folder2$

私はデフォルトのターミナル設定を使用しています(学習のためにFedora 22仮想マシンを使用していますが、他のディストリビューションを使用する他のいくつかのチュートリアルビデオでもこれを見つけました)。

どんなルールがありますか?

答え1

パスを減らすもう1つの方法はシェル変数を\w使用することです。PROMPT_DIRTRIMデモ:

jackman@b7q9bw1:/usr/local/share/doc $ echo "$PS1"
\u@\h:\w \$ 
jackman@b7q9bw1:/usr/local/share/doc $ pwd
/usr/local/share/doc
jackman@b7q9bw1:/usr/local/share/doc $ PROMPT_DIRTRIM=2
jackman@b7q9bw1:.../share/doc $ pwd
/usr/local/share/doc
jackman@b7q9bw1:.../share/doc $ 

答え2

デフォルトのプロンプトに表示される内容は、変数の内容によって決まりますPS1。以下はbash文書から抜粋したものです。

\w     the current working  directory,  with  $HOME  abbreviated
       with  a tilde (uses the value of the PROMPT_DIRTRIM vari‐
       able)
\W     the basename of the current working directory, with $HOME
       abbreviated with a tilde

つまり、次のようPS1\w\W

PS1私が試したいくつかのランダムなLinuxベースのシステムのデフォルトはですが、[\u@\h \W]\$これはシステムによって異なります。

答え3

これはPS1変数の内容に関連しています。を実行してPS1変数を確認できますecho $PS1

1つの場合は\wフルパスが表示され、1つの場合は最後のフォルダのみが\W表示されます。

関連情報