啟動終端模擬包或者從 linux 控制台登入後,便可以看到 shell 提示符。提示符是通往 shell 的大門,是輸入 shell 命令的地方。
對於普通使用者,base shell 預設的提示符是美元符號$
;對於超級使用者(root 使用者),bash shell 預設的提示符是井號#
。該符號表示 shell 等待輸入命令。
不同的 linux 發行版使用的提示符格式不同。例如在 centos 中,預設的提示符格式為:
[mozhiyan@localhost ~]$
這種格式包含了以下三個方面的資訊:
shell 通過ps1
和ps2
兩個環境變數來控制提示符格式:
在 shell 中初次輸入命令,使用的是 ps1 指定的提示符格式;如果輸入乙個命令後還需要輸入附加資訊,shell 就使用 ps2 指定的提示符格式。請看下面的例子:
[mozhiyan@localhost ~]$ echo "c語言"
c語言[mozhiyan@localhost ~]$ echo ""
[mozhiyan@localhost ~]$ echo "
> yan
> chang
> sheng
> "
yanchang
sheng
[mozhiyan@localhost ~]$
echo 是乙個輸出命令,可以用來輸出數字、變數、字串等;本例中,我們使用 echo 來輸出字串。
字串是一組由" "
包圍起來的字串行,echo 將第乙個"
作為字串的開端,將第二個"
作為字串的結尾。此處的字串就可以看做 echo 命令的附加資訊。
本例中,前兩次使用 echo 命令時都是在後面緊跟字串,一行之內輸入了完整的附加資訊。第三次使用 echo 時,將字串分成多行,echo 遇到第乙個"
認為是不完整的附加資訊,所以會繼續等待使用者輸入,直到遇見第二個"
。輸入的附加資訊就是第二層命令,所以使用>
作為提示符。
要顯示提示符的當前格式,可以使用 echo 輸出 ps1 和 ps2:
[mozhiyan@localhost ~]$ echo $ps1
[\u@\h \w]\$
[mozhiyan@localhost ~]$ echo $ps2
>
[mozhiyan@localhost ~]$
shell 使用以\
為前導的特殊字元來表示命令提示符中包含的要素,這使得 ps1 和 ps2 的格式看起來可能有點奇怪。下表展示了可以在 ps1 和 ps2 中使用的特殊字元。
bash shell 提示符可以包含的要素
字元描述
\a鈴聲字元
\d格式為「日 月 年」的日期
\eascii轉義字元
\h本地主機名
\h完全合格的限定域主機名
\jshell當前管理的作業數
\1shell終端裝置名的基本名稱
\nascii換行字元
\rascii回車
\sshell的名稱
\t格式為「小時:分鐘:秒」的24小時制的當前時間
\t格式為「小時:分鐘:秒」的12小時制的當前時間
\@格式為am/pm的12小時制的當前時間
\u當前使用者的使用者名稱
\vbash shell的版本
\vbash shell的發布級別
\w當前工作目錄
\w當前工作目錄的基本名稱
\!該命令的bash shell歷史數
\#該命令的命令數量
\$如果是普通使用者,則為美元符號$
;如果超級使用者(root 使用者),則為井號#
。
\nnn
對應於八進位制值 nnn 的字元
\\斜槓
\[控制碼序列的開頭
\]控制碼序列的結尾
注意,所有的特殊字元均以反斜槓\
開頭,目的是與普通字元區分開來。您可以在命令提示符中使用以上任何特殊字元的組合。
我們可以通過修改 ps1 變數來修改提示符格式,例如:
[mozhiyan@localhost ~]$ ps1="[\t][\u]\$"
[17:27:34][mozhiyan]$
新的 shell 提示符現在可以顯示當前的時間和使用者名稱。不過這個新定義的 ps1 變數只在當前 shell 會話期間有效,再次啟動 shell 時將重新使用預設的提示符格式。
Shell 命令提示符
blog 個人參考 命令提示符 目錄使用者進入 bash 以後,bash 會顯示乙個命令提示符,用來提示使用者在該位置後面輸入命令。命令提示符通常是美元符號 對於根使用者則是井號 這個符號是環境變數ps1決定的,執行下面的命令,可以看到當前命令提示符的定義。echo ps1bash 允許使用者自定義...
改變shell命令提示符
改變title prompt command echo ne 033 0 007 這樣在terminal的title就會顯示使用者 機器名 路徑。改變命令提示符的顏色 在 bashrc中新增 綠色 export ps1 033 32m w 033 0m 在 root bashrc 紅色 export...
Linux的自定製shell提示符
提示符是由乙個環境變數定義的,叫做 ps1 是 prompt string one 的簡寫 可以通過更改這個值來修改提示符 shell 提示符中用到的轉義字元 序列顯示值 a以 ascii 格式編碼的鈴聲 當遇到這個轉義序列時,計算機會發出嗡嗡的響聲。d以日,月,天格式來表示當前日期。例如,mon ...