Ubuntu VMの$ PS1が実際のプロンプトと一致しません。

Ubuntu VMの$ PS1が実際のプロンプトと一致しません。

Virtual BoxUbuntu VMを実行していますVagrant

vagrant@lucid64:~$ uname -a
Linux lucid64 2.6.32-38-server #83-Ubuntu SMP Wed Jan 4 11:26:59 UTC 2012 x86_64 GNU/Linux

私の$ PS1変数は実際にはプロンプトと一致せず、はるかに複雑です。

vagrant@lucid64:~$ echo $PS1
\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$

私は上記のように$ PS1とプロンプトの間の関係の説明を探しています$USER@$HOST:$PWD\$

たとえば、この仮想マシンをホストし、Macである一般的なノートブックでは、次のようにきれいでシンプルです。

~@12:10:20>echo $PS1
\w@\t>

ベストアンサー1

Ubuntuは$PS1基本的に3つの部分で構成されています。

  • \[\e]0;\u@\h: \w\a\]

    これは、端末のタイトルテキストをに設定するエスケープシーケンスです$USER@$HOST: $PWD

    \[\]印刷できない文字シーケンスの始まりと終わりを示します。

    \eASCII エスケープ文字です。

    ]0;特定のエスケープシーケンスです端末のアイコンとタイトルを設定xterm互換性のある端末から

    \u現在のユーザーのユーザー名に展開されます。

    @文字通り@です。

    \hホスト名に展開されます。

    :文字通りのコロン文字です。

    \w現在の作業ディレクトリに展開します。

    \aASCII ベル文字です。

  • ${debian_chroot:+($debian_chroot)}

    chroot環境にある場合は、括弧内のchroot名に展開されます。

    ${var:+OTHER}$OTHER設定されている場合は評価され、varそうでない場合は空の文字列として評価されます。ファイルの内容で初期化された変数$debian_chroot。したがって、chroot環境にこのファイルが含まれている場合、プロンプトには現在シェルが実行されているchrootを表すファイルの内容が含まれます。/etc/bash.bashrc/etc/debian_chroot

  • \u@\h:\w\$

    よく見られる実際のヒントです。

    \u、、、、、@上記の\hように。:\w

    \$有効なuidが0(つまり、ユーザーがroot)の場合は数値記号#に展開され、それ以外の場合はドル記号$に展開されます。

リソース

おすすめ記事