Shell提示符( 和 的區別)

2022-01-29 17:01:22 字數 2288 閱讀 3293

啟動終端模擬包或者從 linux 控制台登入後,便可以看到 shell 提示符。提示符是通往 shell 的大門,是輸入 shell 命令的地方。

對於普通使用者,base shell 預設的提示符是美元符號$;對於超級使用者(root 使用者),bash shell 預設的提示符是井號#。該符號表示 shell 等待輸入命令。

不同的 linux 發行版使用的提示符格式不同。例如在 centos 中,預設的提示符格式為:

[mozhiyan@localhost ~]$

這種格式包含了以下三個方面的資訊:

shell 通過ps1ps2兩個環境變數來控制提示符格式:

在 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 ...