歡迎您光臨本站 註冊首頁

環境變數PS1、PS2、PS3以及PS4來自定義用戶命令行的字元顯示


用戶登錄Linux系統的字元界面后,就會出現"#"或"$"等命令提示符,比如"[root@pxe root]# “、"[oracle@db1 ~]$”或是 “-bash-3.00#”等等.

通過設置環境變數PS1、PS2、PS3以及PS4來自定義用戶命令行的字元顯示.如果要長期永久性修改提示符,可以將修改提示符的命令添加到$HOME/.profile或$HOME/.bash_profile文件中.

1. PS1

PS1是主提示符變數,也是默認提示符變數.默認值"\s-\v\$“,顯示shell類型和版本.
基本上通過設置PS1來定義命令行提示字元即可,最常用的需求就是顯示登錄的用戶名、主目錄、主機名等等,舉個例子如下:

顯示用戶名,主機名和動態顯示當前目錄
-bash-3.00# export PS1="[\u@\h \w]"
[root@MagicLinux ~]cd /etc
[root@MagicLinux /etc]

注意:如果當前目錄是用戶的HOME目錄,則顯示"~

PS1變數可以使用的參數值有如下:

\d 代表日期,格式為weekday month date,例如:"Mon Aug 1"
\H 完整的主機名稱.例如:我的機器名稱為:fc4.linux,則這個名稱就是fc4.linux
\h 僅取主機的第一個名字,如上例,則為fc4,.linux則被省略
\t 顯示時間為24小時格式,如:HH:MM:SS
\T 顯示時間為12小時格式
\A 顯示時間為24小時格式:HH:MM
\u 當前用戶的賬號名稱
\v BASH的版本信息
\w 完整的工作目錄名稱.家目錄會以 ~代替
\W 利用basename取得工作目錄名稱,所以只會列出一個目錄
\# 下達的第幾個命令
\$ 提示字元,如果是root時,提示符為:# ,普通用戶則為:$
\[ 字元"["
\] 字元"]"
\! 命令行動態統計歷史命令次數

2. PS2

PS2是副提示符變數,默認值是''> ''.
PS2一般使用於命令行里較長命令的換行提示信息,比如:

默認設置
-bash-3.00# rpm -q gcc make binutils openmotif setarch compat-db compat-gcc \
> compat-gcc-c compat-libstdc compat-libstdc -devel

自定義設置
-bash-3.00# export PS2="PS2 => "
-bash-3.00# rpm -q gcc make binutils openmotif setarch compat-db compat-gcc \
PS2 => compat-gcc-c compat-libstdc compat-libstdc -devel

3. PS3,PS4

這兩個環境變數可能用得不多,不研究了.如果有興趣,可以學習bash裡面的簡介.

PS3 The value of this parameter is used as the prompt for the select command (see SHELL GRAMMAR above).
PS4 The value of this parameter is expanded as with PS1 and the value is printed before each command bash displays during an execution trace. The first character of PS4 is replicated multiple times, as neces-sary, to indicate multiple levels of indirection. The default is '' ''.



[火星人 ] 環境變數PS1、PS2、PS3以及PS4來自定義用戶命令行的字元顯示已經有1694次圍觀

http://coctec.com/docs/linux/show-post-45776.html