GNU/Linux >> Linux の 問題 >  >> Cent OS

Linux OS でホスト名が変更されたら、シェル プロンプトでホスト名を更新する方法

質問 :この場合、ホスト名 (geeklab) は既に /etc/sysconfig/network で更新されています。 および /etc/hosts ファイルですが、シェル プロンプトで更新する必要があります。

たとえば、古いシェル プロンプトを次のように変更するには:

から :[root@geek ~]#
To :[root@geeklab ~]#
OS :CentOS/RHEL 6 および 7

オンザフライでシェル プロンプトを変更する

シェル プロンプトは PS を使用して制御されます 環境変数。一般的に使用される PS 環境変数とその機能のリストは次のとおりです。

  • PS1 – このパラメータの値は展開され、プライマリ プロンプト文字列として使用されます。デフォルト値は \u@\h \W\\$ です。
  • PS2 – このパラメータの値は、PS1 と同様に展開され、セカンダリ プロンプト文字列として使用されます。デフォルトは ] です。
  • PS3 – このパラメーターの値は、select コマンドのプロンプトとして使用されます。
  • PS4 – このパラメーターの値は PS1 と同様に展開され、実行トレース中に各コマンド bash が表示される前に値が出力されます。 PS4 の最初の文字は、複数レベルの間接性を示すために、必要に応じて複数回複製されます。デフォルトは + です。

PS1 は、\u@\h \W\\$ を保持する主要なプロンプト変数です 特殊なバッシュ文字。これは bash プロンプトのデフォルトの構造であり、ユーザーがターミナルを使用してログインするたびに表示されます。これらのデフォルト値は /etc/bashrc に設定されています ファイル。

このコマンドは現在の値を表示します。

# echo $PS1

例:

[root@geek ~]# echo $PS1
[\u@\h \W]\$

これは、PS1 変数を変更することで変更できます:

# PS1="[\u@geeklab \w]# "

変更されたプロンプトは次のようになります。例:

[root@geek ~]# PS1="[\u@geeklab \w]# "
[root@geeklab ~]#

変更を永続的にする

これらの設定を永続的にするには、~/.bash_profile に追加します ファイル:

# echo 'export PS1="[\u@\h \w]# "' >> ~/.bash_profile

デフォルトのプロンプトの特殊文字は次のとおりです:

\u =ユーザー名
\h =ホスト名
\W =現在の作業ディレクトリ


Cent OS
  1. CentOS7Linuxでホスト名を設定/変更する方法

  2. CentOSでホスト名を変更する方法

  3. Linux で iSCSI イニシエータ ID を変更する方法

  1. Linux でデフォルトのシェルを変更する方法

  2. Linux でデフォルトのシェルを変更する方法

  3. CentOS Linux でホスト名を変更する方法

  1. Linuxでhostnameコマンドを使用する方法

  2. Linuxターミナルとシェルをクリスマス化する方法

  3. ホスト名を変更する方法は?