web-dev-qa-db-ja.com

コマンドライン(bash)プロンプトを短くするにはどうすればよいですか?

現在は次のとおりです。

michael@Castle2012-Ubuntu-laptop01:~/Dropnot/webs/Rails_v3/linker/spec/controllers$

マシンとディレクトリ構造の名前を変更する以外...

どうすればそれをもっと似たようなものにできますか?

michael:controllers$
166
Michael Durrant

現在のターミナルインスタンスのみで変更するには

PS1='\u:\W\$ 'と入力してEnterキーを押すだけです。


「永続的に」変更するには

~/.bashrcで、次のセクションを見つけます。

 if ["$ color_Prompt" = yes]; then 
 PS1 = '$ {debian_chroot:+($ debian_chroot)}\[\ 033 [01; 32m \]\u @\h\[\ 033 [00m \]:\ [\ 033 [01; 34m \]\w\[\ 033 [00m \]\$ '
 else 
 PS1 =' $ {debian_chroot:+($ debian_chroot)}\u @\h:\ w\$ '
 fi 

@\hを削除し、\wを大文字の\Wに置き換えて、次のようにします。

 if ["$ color_Prompt" = yes]; then 
 PS1 = '$ {debian_chroot:+($ debian_chroot)}\[\ 033 [01; 32m \]\u\[\ 033 [00m \]:\ [\ 033 [01; 34m \]\W\[\ 033 [00m \]\$ '
 else 
 PS1 =' $ {debian_chroot:+($ debian_chroot)}\u:\ W\$ '
 fi 

保存して終了し、ターミナルを閉じて別のターミナルを起動して結果を確認します。


たくさんのオプション!

  • より広範なハウツーと、さらに多くのオプションについては、 here を参照してください
  • 小さなPythonスクリプトを使用してプロンプトを設定する方法については、 この回答 を参照してください。ディレクトリ構造。
240
ish

現在の端末でこのコードを実行します

Prompt_DIRTRIM=3

これで、bashプロンプトには最後の3つのディレクトリ名のみが表示されます。 1を選択して、現在のディレクトリのみを表示できます。より多くの情報が利用可能です GNUドキュメント

の効果:

/var/lib/apt/lists# Prompt_DIRTRIM=3
/.../lib/apt/lists# 

永続的に作成する場合は、最初の~/.bashrcに次の行を追加します。

Prompt_DIRTRIM=3

またはゼロより大きい別の数値。

103
santosh Mahto

これは私の好みのプロンプト設定です:

~/.bashrcに追加

PS1='[\u@\h \W]\$ '    

次のようになります。

[user@hostname dirname]$

$記号の後にスペースがあります)

18
unwastable

個人的には、bashプロンプトで現在のフォルダーのみを表示することを好みます。これは、次のコマンドで実行できます。

PS1='\W\$ '

起動するたびに有効にする場合は、上記のコマンドを〜/ .bashrcに追加します。

6
Rajeev Jayaswal

これは非常に古いことを理解していますが、エイリアスを作成することを誰も提案しなかったので、投稿したいと思いました。 Bash Prompt Escape Sequences を使用して、エイリアスを作成しましたshorten

ここの~/.bash_aliasesでは、$ Blue変数がプロンプトの色を設定することに気付くでしょう。これは、省略に応じて変更したり変更したりできます。

alias c='clear'

alias shorten='PS1="$Blue$USER:\W$ "&& c'

OPの必要なプロンプト文字列を実現するには:

alias shorten='PS1="$USER:\W$ "'

~/.bashrccopyで定義され、 https://wiki.archlinux.org/index.php/Color_Bash_Prompt から貼り付けられた色があります。サイドノートでは、ANSIコードの色は何ですか?見ているだけで混乱しています。

Blue='\e[0;34m'         # Blue
1
Allie Carver

I 関数を書いた 必要に応じて変更できます:

function termprompt() {
    PS1="${PS1//@\\h/}"     # Remove @Host
    PS1="${PS1//\\w/\\W}"   # Change from full directory to last name
}

~/.bashrc行が完全に計算された後、PS1の下部またはその近くにこの関数を配置します。

プロンプトを短くしたいときはいつでもtermpromptと入力するか、永続性のために~/.bashrcの下部からtermpromptを呼び出します。

他の多くの答えに対するこの手法の利点は、.bashrcが4つの異なる方法でPS1をセットアップできることです(xterm + no-color、xterm + color、no-xterm + no-color、no-xterm + color )。この答えは、現在の4つの方法すべてと、おそらく将来の方法もサポートしています。

別の利点は、この方法では、変更を挿入するために通過する複雑な制御コードが少ないことです。

0