环境变量PS1介绍
這篇文章介紹一下Bash中的環境變量PS1。
PS1 是什么
PS1 是Prompt String 1的縮寫,它是Linux/Unix下的一個用于控制提示信息的環境變量,PS1是交互式的shell用于控制用戶輸入提示信息的環境變量,類似的環境變量還有PS2、PS3和PS4。以下是man bash獲得說明內容:
- Bash版本:4.2.46
- PS1-PS4的說明
結合上述PS1-PS4的說明,可以理解此四個環境變量的作用主要如下:
| PS1 | 交互式腳本等待用戶輸入時的提示信息 |
| PS2 | 一條命令沒有結束的時候的連接性的提示(比如使用\將一行復雜的命令使用多行連接起來的場合) |
| PS3 | 和select命令結合使用 |
| PS4 | 調試時的行前顯示內容 |
這篇文章主要介紹以下PS1相關的內容。
PS1示例
在本文示例的Bash環境中,PS1環境變量設定值如下所示:
[root@liumiaocn ~]# echo $SHELL /bin/bash [root@liumiaocn ~]# echo $PS1 [\u@\h \W]\$ [root@liumiaocn ~]#其中\u、\h與\W都是PS1的設定項目,其具體含義分別如下所示:
- \u:當前用戶的用戶名
- \h:主機名(包含.的情況下取第一個字段)
- \W:當前目錄(顯示為basename的信息),$HOME目錄顯示為~
PS1設定項目
| \a | ASCII(07)警示音 |
| \d | 以"Weekday Month Date"格式顯示的日期信息(示例:Wed Jan 29) |
| \D{format} | 指定顯示格式的日期 |
| \e | 轉義(033)(比如進行顏色設定) |
| \h | 主機名(包含.的情況下取第一個字段) |
| \H | 完整主機名(包含.的情況下和\h有所區別) |
| \j | 通過當前shell在后端運行的進程數量(比如通過&符) |
| \l | 此shell的終端設備名(basename) |
| \n | 換行 |
| \r | 回車 |
| \s | the name of the shell, the basename of $0 (the portion following the final slash) |
| \t | 當前實現顯示,格式為:24-hour HH:MM:SS |
| \T | 當前實現顯示,格式為:12-hour HH:MM:SS |
| @ | 當前實現顯示,格式為:12-hour am/pm |
| \A | 當前實現顯示,格式為: 24-hour HH:MM |
| \u | 當前用戶的用戶名 |
| \v | the version of bash (e.g., 2.00) |
| \V | the release of bash, version + patch level (e.g., 2.00.0) |
| \w | 當前目錄(顯示為全路徑),$HOME目錄顯示為~ |
| \W | 當前目錄(顯示為basename的信息),$HOME目錄顯示為~ |
| ! | 當前命令在歷史命令緩沖區中的序號 |
| # | 命令編號, 從1開始(!是在history的位置) |
| $ | 超級用戶(UID為0)顯示為#,其余顯示為$ |
| \nnn | 使用八進制表示的ASCII,比如\a也可以表現為\007 |
| \ | 反斜線 |
| [ | 非打印字符序列開始,比如顏色轉義序列信息 |
| ] | 非打印字符序列結束 |
總結
- 上一篇: OCCT示例学习笔记1--Viewer2
- 下一篇: BASH脚本基础:环境变量PS1配色方法