ホームページ > コンピューターのチュートリアル > コンピュータ知識 > Linux での PS1、PS2、PS3、PS4 変数の詳細な説明

Linux での PS1、PS2、PS3、PS4 変数の詳細な説明

WBOY
リリース: 2024-03-22 09:00:05
転載
1263 人が閲覧しました

Linux システムでは、PS1PS2PS3、および PS4 は特定の環境変数です。それぞれが、プロンプトとメニュー プロンプト情報の制御において異なる役割を果たします。

これらの

PS 変数は、Linux システムのコマンド ラインの外観と動作をカスタマイズおよび制御する柔軟な方法をユーザーに提供することで、ユーザーの対話エクスペリエンスを向上させます。システム。

###注記:###
プロンプトを長期間にわたって永続的に変更したい場合は、プロンプトを変更するコマンドを

$HOME/.bashrc

または

$HOME/.bash_profile に追加できます。ファイル。

1、PS1変数

これは主に、shell

コマンド プロンプトを設定するために使用されます。ターミナルにコマンドを入力するたびに、表示される文字列は

PS1 変数によって制御されます。 #PS1 変数の値を独自の設定やニーズに応じてカスタマイズすることで、コマンド プロンプトの外観と形式を変更できます。

デフォルト値は: [u@h W]$ です。これは、ユーザーのホスト名の作業ディレクトリを表示します。ターミナル ウィンドウに echo $PS1 コマンドを入力すると、次の内容が表示されます。 [root@iSCSIサーバー ~]# echo $PS1 [u@h W]$ [root@iSCSIサーバー ~]

#上記を詳しく説明すると次のとおりです

###キャラクター###
ログイン後にコピー
は意味を表します

###述べる###

###代表する[### u現在のユーザーを表します@h はホスト名 W は現在のディレクトリ名を表します#~] ###代表する]### は、特権ユーザーまたは一般ユーザー、一般ユーザー $ スペース、スーパーユーザー # スペース を表します。
[
######根###### ######代表する@######
を表します iSCSIサーバー
はスペースを表します (表示されません)
は現在のユーザーのホーム ディレクトリを表します
$

PS1利用可能な可変パラメータ

###説明する### dH完全なホスト名。 hホストの名のみを取得しますt表示時間は、HH:MM:SST時刻を 12 時間形式で表示しますA表示時間は 24 時間形式です: HH:MMu現在のユーザーのアカウント名vBASH バージョン情報w完全な作業ディレクトリ名。ホーム ディレクトリは ~Wbasename を使用して作業ディレクトリ名を取得すると、最後のディレクトリのみがリストされます#どのような命令が発令されたか$ プロンプト文字。root の場合、プロンプトは #、一般ユーザーの場合: $[ ###キャラクター"["### ] #!PS1変数の使用例1. 単純なプロンプト[root@iSCSIサーバー ~]# PS1='u@h:w$ ' root@iSCSI サーバー:~$
パラメータ
は日付を表し、形式は平日月日です。
のような 24 時間形式です。
に置き換えられます
###キャラクター"]"###
コマンドラインの過去のコマンド時間の動的統計

このプロンプトには、ユーザー名 (

u

)、ホスト名 (
h
ログイン後にコピー
)、現在の作業ディレクトリ (

wLinux での PS1、PS2、PS3、PS4 変数の詳細な説明)、およびドル記号 (

$

)。 シンプルでわかりやすいプロンプトを好むユーザーに適しています。 2.完全なパスを表示します [root@iSCSIサーバー ~]# PS1='[u@h w]# ' [root@iSCSIサーバー ~]# cd /var/log [root@iSCSIサーバー/var/log]# pwd /var/log [root@iSCSI-server /var/log]# 現在の作業ディレクトリのフル パス (

w

) を表示します。これは、深いディレクトリで作業するときに現在の場所をすばやく特定するのに役立ちます。

3. 日時の表示

[root@iSCSI-server ~]# PS1='[d]u@h w$ '
[3月20日(水)]root@iSCSI-server ~$

[root@iSCSIサーバー ~]# PS1='[t] [u@h w]# '
[09:27:06] [root@iSCSIサーバー ~]#
[09:27:11] [root@iSCSIサーバー ~]#
または:
[root@iSCSIサーバー ~]# PS1='(`日付 "%H:%M:%S"`)[u@h W]$ '
(09:43:59)[root@iSCSIサーバー ~]#
(09:44:01)[root@iSCSIサーバー ~]
ログイン後にコピー

#4. カラープロンプト [root@iSCSIサーバー ~]# PS1="[e[33;1m]u[e[31;1m]@[e[33;1m]h [e[36;1m]w[e[ 34;1m]$ [e[0m]" root@iSCSIサーバー ~$ root@iSCSI サーバー ~$

ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
カラーコード形式: **

[e[F;Bm]

**
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
このうち、F はフォントの色を表し、B は背景色を表します。詳細は次のとおりです。

Linux での PS1、PS2、PS3、PS4 変数の詳細な説明

フォントコード バックグラウンドコード

###色###

30403141 ###赤### ###緑### ###黄色### 34 ###青### 45 ###紫### シアン ###白###
###黒###
32 42
33 43
44 35
36 46
37 47

2、PS2変数

これは 2 番目のプロンプトであり、対話型 shell で 1 つのコマンドの複数行を接続するときに情報を表示するために使用されます。

コマンド ライン入力が 1 行より長い場合、システムは PS2 プロンプトを使用して入力を続行します。

これにより、ユーザーは長いコマンドを複数行に簡単に入力できるようになり、コマンド ライン操作の効率が向上します。

  • 非常に長いコマンドは、最後に を追加することで別の行に表示できます。
  • PS2複数行コマンドのデフォルトのプロンプト。デフォルト値は > です。
#プロンプトを

> から > に変更します。

[root@iSCSIサーバー ~]# echo > 1 1
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

3、PS3 変数

この環境変数は、

select コマンドによって作成されるメニュー プロンプト情報を制御するために使用されます。

Linux

では、select コマンドを使用してユーザーは一連のオプションから 1 つを選択できますが、PS3 変数は表示されるプロンプトを定義します。選択プロセス中のシンボル。 PS3

をカスタマイズすると、

select コマンドのメニュー プロンプトをニーズに合わせてより適切なものにすることができます。 PS3 変数は使用しないでください

[root@iSCSI-server ~]# cat myps3.sh #!/bin/bash echo "いくつかのオプションがありますので、必要なものを選択してください:" 「オプション 1」「オプション 2」「終了」でオプションを選択します。 case $option in "オプション1") echo "オプション 1 を選択しました" 壊す ;; 「オプション 2」) echo "オプション 2 を選択しました" 壊す ;; "やめる") echo "スクリプトを終了" 0番出口 ;; *) echo "選択が無効です。もう一度選択してください。" ;; イーサック 終わり###

sh スクリプトを実行します:

[root@iSCSI-server ~]# bash myps3.sh
以下にいくつかのオプションがありますので、必要なものを選択してください。
1) オプション 1
2) オプション 2
3) 終了
#?1
オプション 1 を選択しました
[root@iSCSIサーバー ~]
ログイン後にコピー

#PS3変数を使用する

まず、上記のスクリプトで 
ログイン後にコピー
PS3

変数を定義します:

#!/bin/bash # PS3 変数を設定して選択コマンドのプロンプトをカスタマイズします # PS3="オプションを選択してください: " echo "いくつかのオプションがありますので、必要なものを選択してください:" 「オプション 1」「オプション 2」「終了」でオプションを選択します。 case $option in "オプション1") echo "オプション 1 を選択しました" 壊す ;; 「オプション 2」) echo "オプション 2 を選択しました" 壊す ;; "やめる") echo "スクリプトを終了" 0番出口 ;; *) echo "選択が無効です。もう一度選択してください。" ;; イーサック 終わり### 次に、スクリプトを実行します:

[root@iSCSI-server ~]# bash myps3.sh 以下にいくつかのオプションがありますので、必要なものを選択してください。 1) オプション 1 2) オプション 2 3) 終了 オプションを選択してください: 1 オプション 1 を選択しました [root@iSCSIサーバー ~]
ログイン後にコピー
ログイン後にコピー

#4、PS4 変数
ログイン後にコピー
ログイン後にコピー

set -x は、追跡出力のプレフィックスを変更するために使用されます。この変数はほとんど使用されません。

以上がLinux での PS1、PS2、PS3、PS4 変数の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:mryunwei.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート