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