1. ホーム
  2. bash

[解決済み] MacOSのbashターミナルでexport PS1="\u[\033[m]@[\033[32m]\h:\[\033[33;1m]\w[\033[m]\$" は何を意味していますか?

2022-01-31 10:55:30

質問

bashターミナルの外観を変更しようとしているのですが、このサイトにたどり着きました。 http://osxdaily.com/2013/02/05/improve-terminal-appearance-mac-os-x/ . しかし、私はすべての変更を実装する前に、まずコードを理解するようにしたいのですが、現在この部分が理解できずに困っています。だから、誰かが私に徹底的にそれを説明することができれば、本当にうれしいです。

どのように解決するのですか?

export は、オペレーティングシステムに環境変数を設定するために使用されます。この変数は、現在のBashプロセスによって作成されたすべての子プロセスで、それ以降も利用可能です。

PS1 は、各コマンドの前に表示される主要なプロンプトで、ほとんどの人がカスタマイズしています。 https://wiki.archlinux.org/index.php/Bash/Prompt_customization#Prompts

という文がある。 \[\033[36m\]\u\[\033[m\]@\[\033[32m\]\h:\[\033[33;1m\]\w\[\033[m\]\$
は、プロンプトがどのように表示されるかを指定します。

以来、Bashで。

  1. 印刷されないエスケープシーケンスは[and]で囲む必要があります。カラーエスケープシーケンスの場合は、その後に小文字のmを付けなければなりません。

ANSIエスケープコードについて詳しくはこちら。 https://gist.github.com/fnky/458719343aabd01cfb17a3a4f7296797

  1. プロンプト変数PS0、PS1、PS2、PS4に出現する特殊文字がいくつかあり、ここで確認することができます。 https://www.gnu.org/software/bash/manual/html_node/Controlling-the-Prompt.html

それゆえ

  • [♪♪~
  • \u = 現在のユーザーのユーザー名
  • [をクリックします。
  • は'@'文字
  • [グリーン
  • \ホスト名
  • : = ':' 文字
  • [黄色(太字)
  • \w = 現在の作業ディレクトリ。$HOMEはチルダ(~)で省略されます。
  • $ = ユーザIDが0の場合は'#'を、それ以外の場合は'$'文字を表示します。