0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Linux 中自定義 Bash 命令提示符

Linux愛(ài)好者 ? 來(lái)源:YXQ ? 2019-08-09 18:11 ? 次閱讀

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

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

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

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

在上圖這種默認(rèn)顯示形式當(dāng)中,“sk” 是我的用戶名,而 “ubuntuserver” 是我的主機(jī)名。

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

在開(kāi)始之前,我強(qiáng)烈建議你預(yù)先備份 ~/.bashrc 文件。

?

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

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

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

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

?

1 $ vi ~/.bashrc

在文件的最后添加一行:

?

1 PS1="ostechnix> "

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

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

?

1 $ source ~/.bashrc

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

再來(lái)看看另一個(gè)例子,比如將 “username@hostname” 替換為 “Hello@welcome>”。

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

?

1 export PS1= ">Hello@welcome>

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

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

僅顯示用戶名

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

?

1 export PS1="u "

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

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

顯示用戶名和主機(jī)名

?

1 export PS1="uh "

命令提示符會(huì)這樣顯示:

?

1 skubuntuserver

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

?

1 export PS1="uH "

在用戶名和主機(jī)名之間顯示其它字符

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

?

1 export PS1="u@h "

命令提示符會(huì)這樣顯示:

?

1 sk@ubuntuserver

顯示用戶名、主機(jī)名,并在末尾添加 $ 符號(hào)

?

1 export PS1="u@h\$ "

綜合以上兩種顯示方式

?

1 export PS1="u@h> "

命令提示符最終會(huì)這樣顯示:

?

1 sk@ubuntuserver>

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

顯示用戶名、主機(jī)名、shell 名稱

?

1 export PS1="u@h>s "

顯示用戶名、主機(jī)名、shell 名稱以及 shell 版本

?

1 export PS1="u@h>sv "

bash 命令提示符顯示樣式:

顯示用戶名、主機(jī)名、當(dāng)前目錄

?

1 export PS1="u@hw "

如果當(dāng)前目錄是 $HOME ,會(huì)以一個(gè)波浪線( ~ )顯示。

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

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

?

1 export PS1="u@h>d "

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

?

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

顯示日期及 hh:mm:ss 格式時(shí)間

?

1 export PS1="u@h>dT "

顯示日期及 24 小時(shí)制時(shí)間

?

1 export PS1="u@h>dA "

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

?

1 export PS1="u@h>d "

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

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

?

1 $ echo $PS1

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

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

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

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

編輯 ~/.bashrc 文件:

?

1 $ vi ~/.bashrc

在文件末尾添加這一行:

?

1 PS1="W> "

輸入 :wq 保存并關(guān)閉文件。

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

?

1 $ source ~/.bashrc

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

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

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

為 bash 命令提示符著色

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

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

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

?

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

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

你的 bash 命令提示符就會(huì)變成這樣:

類似地,可以用這樣的配置來(lái)改變背景色:

?

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

添加 emoji

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

?

1 PS1="W

總結(jié)

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11123

    瀏覽量

    207900
  • Bash
    +關(guān)注

    關(guān)注

    0

    文章

    57

    瀏覽量

    10134

原文標(biāo)題:在 Linux 上自定義 bash 命令提示符

文章出處:【微信號(hào):LinuxHub,微信公眾號(hào):Linux愛(ài)好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何在不打開(kāi)ADS GUI的情況下通過(guò)命令提示符編譯ADS項(xiàng)目?

    我正在尋找在不打開(kāi) ADS GUI 的情況下通過(guò)命令提示符編譯 ADS 項(xiàng)目的方法。 如果有人知道,能否指導(dǎo)我進(jìn)行設(shè)置,或者 ADS 項(xiàng)目是否可以這樣做。 在此先表示感謝!
    發(fā)表于 05-31 06:42

    編譯ESP-AT工程,運(yùn)行python build.py install命令提示符遇到的疑問(wèn)求解

    你好,我按照“編譯 ESP-AT 工程”步驟操作時(shí)候,走到第三步:安裝環(huán)境,運(yùn)行python build.py install命令提示符,顯示 C
    發(fā)表于 06-27 06:05

    Linux命令行終端提示符多種實(shí)用技巧 老男孩linux培訓(xùn)

    所在的路徑。示例如下: [oldboy@oldboy ~]$#<==@前的oldboy為當(dāng)前用戶,@后的oldboy為主機(jī)名,此處的~表示當(dāng)前目錄,即家目錄。 4、Linux命令提示符
    發(fā)表于 12-22 15:47

    用戶自定義終止EOF用法

    EOF(End OF File)在Linux命令和腳本中表示用戶自定義終止,其用法如下:
    發(fā)表于 07-23 07:18

    使用命令提示符時(shí)找不到內(nèi)存模塊是為什么?

    你好..如下圖所示我的層次結(jié)構(gòu)是......當(dāng)我在GUI合成時(shí),它是成功的。但是當(dāng)我在命令提示符下做。它顯示了這樣的錯(cuò)誤Elaborating模塊.ERROR:HDLCompiler:1654
    發(fā)表于 05-01 12:58

    無(wú)法從命令提示符處獲取TCL腳本的原因?

    嗨,我想試試JESD204硬件演示。為此,我必須在Windows命令提示符下使用“vivado -mode batch -source”運(yùn)行.tcl腳本,但是當(dāng)我輸入此內(nèi)容時(shí),我收到一條錯(cuò)誤,即vivado命令未知或錯(cuò)誤。我現(xiàn)在能做什么?非常感謝您提前和最好的問(wèn)候揚(yáng) -
    發(fā)表于 07-30 07:00

    關(guān)于命令提示符的說(shuō)明

    linux@ubuntu:$開(kāi)發(fā)板Linux系統(tǒng)下操作時(shí)命令提示符為:root@fsmp1a:$開(kāi)發(fā)板u-boot期間操作是命令
    發(fā)表于 02-17 06:57

    為什么無(wú)法從u-boot命令提示符訪問(wèn)eMMC呢?如何去解決

    我們有基于 STM32MP157C-Eval 板的定制板。因此,我們無(wú)法從 u-boot 命令提示符訪問(wèn) eMMC。目前,我們從 SD 卡啟動(dòng)并能夠從 u-boot 命令提示符訪問(wèn)它。我們能夠看到
    發(fā)表于 12-12 06:36

    命令提示符被禁用怎么辦

    命令提示符被禁用怎么辦 方法一:修改注冊(cè)表   運(yùn)行:regedit,找到[HKEY_CURRENT_USERSoftwarePoliciesMicrosoftWi
    發(fā)表于 02-25 10:45 ?2316次閱讀

    基于linux自定義一個(gè)腳本來(lái)替代rm命令

    linux下的rm命令,功能太強(qiáng),同時(shí)又沒(méi)法撤消,為了避免誤操作,可以自定義一個(gè)腳本來(lái)替代rm命令。
    的頭像 發(fā)表于 02-01 18:08 ?3662次閱讀
    基于<b class='flag-5'>linux</b>下<b class='flag-5'>自定義</b>一個(gè)腳本來(lái)替代rm<b class='flag-5'>命令</b>

    cmd常用命令大全

    Windows系統(tǒng),還是離不開(kāi)DOS命令的操作。學(xué)習(xí)DOS系統(tǒng)操作,首先了解命令提示符。先了解每個(gè)命令提示符的作用,然后才能夠靈活運(yùn)用。下面將詳細(xì)的為大家介紹cmd命令大全的符號(hào)和作用
    的頭像 發(fā)表于 02-07 10:55 ?2.4w次閱讀
    cmd常用<b class='flag-5'>命令</b>大全

    cmd如何在命令提示符下文件夾操作?詳細(xì)方法實(shí)例分析

    本文檔的主要內(nèi)容詳細(xì)介紹的是cmd如何在命令提示符下文件夾操作?詳細(xì)方法實(shí)例分析。
    發(fā)表于 09-26 17:04 ?0次下載
    cmd如何在<b class='flag-5'>命令提示符</b>下文件夾操作?詳細(xì)方法實(shí)例分析

    怎樣用Windows命令提示符測(cè)試Internet連接

    可堆疊:ping的選項(xiàng)是可堆疊的,這意味著您可以在ping的末尾添加任意數(shù)量的選項(xiàng)。要查看所有選項(xiàng),只需在命令提示符單獨(dú)鍵入“ ping”,就會(huì)出現(xiàn)一個(gè)列表,其中包含可用的ping選項(xiàng)以及其功能的簡(jiǎn)要說(shuō)明。
    的頭像 發(fā)表于 11-14 09:58 ?4974次閱讀

    shell命令提示符的具體含義

    Shell命令提示符的含義因操作系統(tǒng)和Shell類型而異。在Linux系統(tǒng),Shell命令提示符通常由以下幾部分組成: 用戶名:顯示當(dāng)前登錄用戶的用戶名。 主機(jī)名:顯示當(dāng)前系統(tǒng)的主機(jī)
    的頭像 發(fā)表于 11-08 10:37 ?1126次閱讀

    linux命令行運(yùn)行步驟

    運(yùn)行Linux命令行涉及以下步驟: 打開(kāi)終端 在Linux系統(tǒng),打開(kāi)命令行界面的方式有多種,最常見(jiàn)的是打開(kāi)終端應(yīng)用程序??梢栽趹?yīng)用程序菜單
    的頭像 發(fā)表于 11-17 10:18 ?630次閱讀