web-dev-qa-db-ja.com

ZSH:ターミナルでコンピューター名を非表示

ターミナルの使用中にプロンプ​​トでコンピューター名を非表示にするにはどうすればよいですか?

現時点では、ユーザー名とコンピューター名の両方が次のように表示されます。

iTerm screenshot of user Prompt

anwarchoukah@anwars-mbpを削除することでスペースを節約できます。実際に自分が誰であるかを確認できます:)

大変感謝いたします、

アンワル

18
achoukah

開く.zshrc、読み行export PS1 または多分 export Prompt

ホスト名に使用されている変数(%mまたは%M)を削除します。

シェルプロンプトのカスタマイズ

ちなみに、色を使用したり、右側にプロンプ​​ト(または情報)を表示することもできます。

Archlinux WikiのZsh

7
lolesque

export DEFAULT_USER="$(whoami)".zshrcファイルに追加してみてください

49
Alex Kompaniets
  1. ステップ1. .zshrcファイルby vim .zshrc

  2. ステップ2.ファイルの最後に移動します。

  3. このコードを貼り付けます:

コードを再度慎重にインデントする

Prompt_context() {
  if [[ "$USER" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then
    Prompt_segment black default "%(!.%{%F{yellow}%}.)$USER"
  fi
}

EDIT-これが何をするのかを説明する

これにより、プロンプトIFからmachine @ user名が削除されます。-デフォルトユーザーとしてログインしていない-sshクライアントシェルにいない

ほとんどの人にとって、必要ではありませんが、定期的に他のマシンにsshして複数の端末を開いている場合(たとえば、リモートsys adminタイプの作業)、これは非常に便利です。その端末内のように。

そのタイプの複雑さを必要としない/管理しない場合は、他の回答のいずれかを使用して、エクスポートプロンプト/ PS1値を変更します。

*警告*

カスタムのシェルまたはテーマを使用している場合、これは機能しない可能性があり、プロンプトにはコンピューターとユーザー名が表示されなくなりますが、エラーがスローされ続けます:

Prompt_context:2: command not found: Prompt_segment

たとえば、これで見ることができます(非常に人気) powerlevel9k それは動作しません。これは、Powerlevel9kテーマが独自のマジックを使用しており、コマンドを〜/ .zshrcファイルに追加するだけで同じ結果が得られるためです。例:

POWERLEVEL9K_LEFT_Prompt_ELEMENTS=(context)

詳細については こちら をご覧ください。

25
hqt

セットする DEFAULT_USER in ~/.zshrcファイルを通常のユーザー名に。ターミナルでwhoamiを実行すると、正確なユーザー名の値を取得できます。このようなもの:

export DEFAULT_USER=username
0
John Kennedy

これを~/.zshrcファイルに追加するだけです:

export DEFAULT_USER=\`whoami`
0
makassi

Prompt_context() {}.zshrcに追加するだけです

0