bash ps1变量_Shell PS1变量:命令提示符设置
PS1 是一個很有意思的變量,是用來定義命令行的提示符的,可以按照我們自己的需求來定義自己喜歡的提示符。
PS1 可以支持以下這些選項:
\d:顯示曰期,格式為"星期 月 日"。
\H:顯示完整的主機(jī)名。如默認(rèn)主機(jī)名"localhost.localdomain"。
\h:顯示簡寫的主機(jī)名。如默認(rèn)主機(jī)名"localhost"。
\t:顯示 24 小時制時間,格式為"HH:MM:SS"。
\T:顯示 12 小時制時間,格式為"HH:MM:SS"。
\A:顯示 24 小時制時間,格式為"HH:MM"。
\@:顯示 12 小時制時間,格式為"HH:MM am/pm"。
\u:顯示當(dāng)前用戶名。
\v:顯示 Bash 的版本信息。
\w:顯示當(dāng)前所在目錄的完整名稱。
\W:顯示當(dāng)前所在目錄的最后一個目錄。
\#:執(zhí)行的第幾條命令。
\$:提示符。如果是 root 用戶,則會顯示提示符為"#";如果是普通用戶,則會顯示提示符為"$"。
這些選項該怎么用呢?我們先看看 PS1 變量的默認(rèn)值,如下:
[root@localhost ~]# echo $PS1
[\u@\h\W]\$
#默認(rèn)的提示符是顯示"[用戶名@簡寫主機(jī)名最后所在目錄]提示符"
在 PS1 變量中,如果是可以解釋的符號,如"\u"、"\h"等,則顯示這個符號的作用;如果是不能解釋的符號,如"@"或"空格",則原符號輸出。我們修改一下 PS1 變量,看看會出現(xiàn)什么情況。
[root@localhost ~]# PS1='[\u@\t \w]\$'
#修改提示符為'[用戶名@當(dāng)前時間當(dāng)前所在完整目錄]提示符'
[root@04:46:40 ~]#cd /usr/local/src/
#切換到當(dāng)前所在目錄,因為家目錄是看不出來區(qū)別的
[root@04:47:29 /usr/local/src]#
#看到了嗎?提示符按照我們的設(shè)計發(fā)生了變化
這里要小心,PS1 變量的值要用單引號包含,否則設(shè)置不生效。再舉個例子:
[root@04:50:08 /usr/local/src]#PS1='[\u@ \@ \h \# \W]\$'
[root@04:53上午 localhost 31 src]#
#提示符又變了。\@:時間格式是HH:MM am/pm;\#:會顯示執(zhí)行了多少條命令
PS1 變量可以自由定制,好像看到了一點 Linux 可以自由定制和修改的影子,還是很有意思的。不過說實話,一個提示符已經(jīng)使用習(xí)慣了,如果換一個還是非常別扭的,還是改回默認(rèn)的提示符吧,命令如下:
[root@04:53上午 localhost 31 src]#PS1='[\u@\h \W]\$'
[root@localhost src]#
注意,這些提示符的修改同樣是臨時生效的,一旦注銷或重啟系統(tǒng)就會消失。要想永久生效,必須寫入環(huán)境變量配置文件。
總結(jié)
以上是生活随笔為你收集整理的bash ps1变量_Shell PS1变量:命令提示符设置的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。