濮阳杆衣贸易有限公司

主頁 > 知識庫 > 如何在Linux中自定義bash命令提示符

如何在Linux中自定義bash命令提示符

熱門標簽:話術外呼系統(tǒng) 北京人工外呼系統(tǒng)廠家 西柏坡地圖標注 寧波400電話辦理對企業(yè)的意義 燃氣管線地圖標注顏色 哈爾濱400電話去哪辦理 i智能電話機器人yeta 廣東如何申請400電話 400電話申請要什么條件

前言

眾所周知, bash (the B ourne- A gain Sh ell)是目前絕大多數(shù) Linux 發(fā)行版使用的默認 shell。本文將會介紹如何通過添加顏色和樣式來自定義 bash 命令提示符的顯示。盡管很多插件或工具都可以很輕易地滿足這一需求,但我們也可以不使用插件和工具,自己手動自定義一些基本的顯示方式,例如添加或者修改某些元素、更改前景色、更改背景色等等。

在 Linux 中自定義 bash 命令提示符

在 bash 中,我們可以通過更改 $PS1 環(huán)境變量的值來自定義 bash 命令提示符。

一般情況下,bash 命令提示符會是以下這樣的形式:


在上圖這種默認顯示形式當中,“sk” 是我的用戶名,而 “ubuntuserver” 是我的主機名。

只要插入一些以反斜杠開頭的特殊轉(zhuǎn)義字符串,就可以按照你的喜好修改命令提示符了。下面我來舉幾個例子。

在開始之前,我強烈建議你預先備份 ~/.bashrc 文件。

$ cp ~/.bashrc ~/.bashrc.bak

更改 bash 命令提示符中的 username@hostname 部分

如上所示,bash 命令提示符一般都帶有 “username@hostname” 部分,這個部分是可以修改的。

只需要編輯 ~/.bashrc 文件:

$ vi ~/.bashrc

在文件的最后添加一行:

PS1="ostechnix> "

將上面的 “ostechnix” 替換為任意一個你想使用的單詞,然后按 ESC 并輸入 :wq 保存、退出文件。

執(zhí)行以下命令使剛才的修改生效:

$ source ~/.bashrc

你就可以看見 bash 命令提示符中出現(xiàn)剛才添加的 “ostechnix” 了。


再來看看另一個例子,比如將 “username@hostname” 替換為 “Hello@welcome>”。

同樣是像剛才那樣修改 ~/.bashrc 文件。

export PS1=Hello@welcome> 

然后執(zhí)行 source ~/.bashrc 讓修改結果立即生效。

以下是我在 Ubuntu 18.04 LTS 上修改后的效果。


僅顯示用戶名

如果需要僅顯示用戶名,只需要在 ~/.bashrc 文件中加入以下這一行。

export PS1="\u "

這里的 \u 就是一個轉(zhuǎn)義字符串。

下面提供了一些可以添加到 $PS1 環(huán)境變量中的用以改變 bash 命令提示符樣式的轉(zhuǎn)義字符串。每次修改之后,都需要執(zhí)行 source ~/.bashrc 命令才能立即生效。

顯示用戶名和主機名

export PS1="\u\h "

命令提示符會這樣顯示:

skubuntuserver

顯示用戶名和完全限定域名

export PS1="\u\H "

在用戶名和主機名之間顯示其它字符

如果你還需要在用戶名和主機名之間顯示其它字符(例如 @ ),可以使用以下格式:

export PS1="\u@\h "

命令提示符會這樣顯示:

sk@ubuntuserver

顯示用戶名、主機名,并在末尾添加 $ 符號

export PS1="\u@\h\\$ "

綜合以上兩種顯示方式

export PS1="\u@\h> "

命令提示符最終會這樣顯示:

sk@ubuntuserver>

相似地,還可以添加其它特殊字符,例如冒號、分號、星號、下劃線、空格等等。

顯示用戶名、主機名、shell 名稱

export PS1="\u@\h>\s "

顯示用戶名、主機名、shell 名稱以及 shell 版本

export PS1="\u@\h>\s\v "

bash 命令提示符顯示樣式:


顯示用戶名、主機名、當前目錄

export PS1="\u@\h\w "

如果當前目錄是 $HOME ,會以一個波浪線( ~ )顯示。

在 bash 命令提示符中顯示日期

除了用戶名和主機名,如果還想在 bash 命令提示符中顯示日期,可以在 ~/.bashrc 文件中添加以下內(nèi)容:

export PS1="\u@\h>\d "

在 bash 命令提示符中顯示日期及 12 小時制時間

export PS1="\u@\h>\d\@ "

顯示日期及 hh:mm:ss 格式時間

export PS1="\u@\h>\d\T "

顯示日期及 24 小時制時間

export PS1="\u@\h>\d\A "

顯示日期及 24 小時制 hh:mm:ss 格式時間

export PS1="\u@\h>\d\t "

以上是一些常見的可以改變 bash 命令提示符的轉(zhuǎn)義字符串。除此以外的其它轉(zhuǎn)義字符串,可以在 bash 的 man 手冊 PROMPTING 章節(jié)中查閱。

你也可以隨時執(zhí)行以下命令查看當前的命令提示符樣式。

$ echo $PS1

在 bash 命令提示符中去掉 username@hostname 部分

如果我不想做任何調(diào)整,直接把 username@hostname 部分整個去掉可以嗎?答案是肯定的。

如果你是一個技術方面的博主,你有可能會需要在網(wǎng)站或者博客中上傳自己的 Linux 終端截圖?;蛟S你的用戶名和主機名太拉風、太另類,不想讓別人看到,在這種情況下,你就需要隱藏命令提示符中的 “username@hostname” 部分。

如果你不想暴露自己的用戶名和主機名,只需要按照以下步驟操作。

編輯 ~/.bashrc 文件:

$ vi ~/.bashrc

在文件末尾添加這一行:

PS1="\W> "

輸入 :wq 保存并關閉文件。

執(zhí)行以下命令讓修改立即生效。

$ source ~/.bashrc

現(xiàn)在看一下你的終端,“username@hostname” 部分已經(jīng)消失了,只保留了一個 ~> 標記。


如果你想要盡可能簡單的操作,又不想弄亂你的 ~/.bashrc 文件,最好的辦法就是在系統(tǒng)中創(chuàng)建另一個用戶(例如 “user@example”、“admin@demo”)。用帶有這樣的命令提示符的用戶去截圖或者錄屏,就不需要顧慮自己的用戶名或主機名被別人看見了。

警告:在某些情況下,這種做法并不推薦。例如像 zsh 這種 shell 會繼承當前 shell 的設置,這個時候可能會出現(xiàn)一些意想不到的問題。這個技巧只用于隱藏命令提示符中的 “username@hostname” 部分,僅此而已,如果把這個技巧挪作他用,也可能會出現(xiàn)異常。

為 bash 命令提示符著色

目前我們也只是變更了 bash 命令提示符中的內(nèi)容,下面介紹一下如何對命令提示符進行著色。

通過向 ~/.bashrc 文件寫入一些配置,可以修改 bash 命令提示符的前景色(也就是文本的顏色)和背景色。

例如,下面這一行配置可以令某些文本的顏色變成紅色:

export PS1="\u@\[\e[31m\]\h\[\e[m\] "

添加配置后,執(zhí)行 source ~/.bashrc 立即生效。

你的 bash 命令提示符就會變成這樣:


類似地,可以用這樣的配置來改變背景色:

export PS1="\u@\[\e[31;46m\]\h\[\e[m\] "

添加 emoji

大家都喜歡 emoji。還可以按照以下配置把 emoji 插入到命令提示符中。

PS1="\W

總結

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

標簽:開封 西藏 阜陽 珠海 襄陽 湘潭 巴中 張家口

巨人網(wǎng)絡通訊聲明:本文標題《如何在Linux中自定義bash命令提示符》,本文關鍵詞  如,何在,Linux,中,自定義,;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《如何在Linux中自定義bash命令提示符》相關的同類信息!
  • 本頁收集關于如何在Linux中自定義bash命令提示符的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    津南区| 南木林县| 梨树县| 徐水县| 门头沟区| 忻州市| 林甸县| 通道| 乐山市| 四平市| 青田县| 嘉荫县| 乌兰浩特市| 溧阳市| 治县。| 怀安县| 陇西县| 庆安县| 分宜县| 百色市| 读书| 余干县| 清水县| 阳原县| 名山县| 珲春市| 贵德县| 桐柏县| 师宗县| 罗甸县| 扎赉特旗| 闽侯县| 高唐县| 日土县| 镇雄县| 宜丰县| 咸宁市| 沁源县| 垣曲县| 集安市| 杭州市|