您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關在Linux上如何自定義bash命令提示符的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
在 bash 中,我們可以通過更改 $PS1
環境變量的值來自定義 bash 命令提示符。
一般情況下,bash 命令提示符會是以下這樣的形式:
在上圖這種默認顯示形式當中,“sk” 是我的用戶名,而 “ubuntuserver” 是我的主機名。
只要插入一些以反斜杠開頭的特殊轉義字符串,就可以按照你的喜好修改命令提示符了。下面我來舉幾個例子。
在開始之前,我強烈建議你預先備份 ~/.bashrc
文件。
$ cp ~/.bashrc ~/.bashrc.bak
如上所示,bash 命令提示符一般都帶有 “username@hostname” 部分,這個部分是可以修改的。
只需要編輯 ~/.bashrc
文件:
$ vi ~/.bashrc
在文件的***添加一行:
PS1="ostechnix> "
將上面的 “ostechnix” 替換為任意一個你想使用的單詞,然后按 ESC
并輸入 :wq
保存、退出文件。
執行以下命令使剛才的修改生效:
$ source ~/.bashrc
你就可以看見 bash 命令提示符中出現剛才添加的 “ostechnix” 了。
再來看看另一個例子,比如將 “username@hostname” 替換為 “Hello@welcome>”。
同樣是像剛才那樣修改 ~/.bashrc
文件。
export PS1="Hello@welcome> "
然后執行 source ~/.bashrc
讓修改結果立即生效。
以下是我在 Ubuntu 18.04 LTS 上修改后的效果。
如果需要僅顯示用戶名,只需要在 ~/.bashrc
文件中加入以下這一行。
export PS1="\u "
這里的 \u
就是一個轉義字符串。
下面提供了一些可以添加到 $PS1
環境變量中的用以改變 bash 命令提示符樣式的轉義字符串。每次修改之后,都需要執行 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>
相似地,還可以添加其它特殊字符,例如冒號、分號、星號、下劃線、空格等等。
export PS1="\u@\h>\s "
export PS1="\u@\h>\s\v "
bash 命令提示符顯示樣式:
export PS1="\u@\h\w "
如果當前目錄是 $HOME
,會以一個波浪線(~
)顯示。
除了用戶名和主機名,如果還想在 bash 命令提示符中顯示日期,可以在 ~/.bashrc
文件中添加以下內容:
export PS1="\u@\h>\d "
export PS1="\u@\h>\d\@ "
export PS1="\u@\h>\d\T "
export PS1="\u@\h>\d\A "
export PS1="\u@\h>\d\t "
以上是一些常見的可以改變 bash 命令提示符的轉義字符串。除此以外的其它轉義字符串,可以在 bash 的 man 手冊 PROMPTING 章節中查閱。
你也可以隨時執行以下命令查看當前的命令提示符樣式。
$ echo $PS1
如果我不想做任何調整,直接把 username@hostname 部分整個去掉可以嗎?答案是肯定的。
如果你是一個技術方面的博主,你有可能會需要在網站或者博客中上傳自己的 Linux 終端截圖。或許你的用戶名和主機名太拉風、太另類,不想讓別人看到,在這種情況下,你就需要隱藏命令提示符中的 “username@hostname” 部分。
如果你不想暴露自己的用戶名和主機名,只需要按照以下步驟操作。
編輯 ~/.bashrc
文件:
$ vi ~/.bashrc
在文件末尾添加這一行:
PS1="\W> "
輸入 :wq
保存并關閉文件。
執行以下命令讓修改立即生效。
$ source ~/.bashrc
現在看一下你的終端,“username@hostname” 部分已經消失了,只保留了一個 ~>
標記。
如果你想要盡可能簡單的操作,又不想弄亂你的 ~/.bashrc
文件,***的辦法就是在系統中創建另一個用戶(例如 “user@example”、“admin@demo”)。用帶有這樣的命令提示符的用戶去截圖或者錄屏,就不需要顧慮自己的用戶名或主機名被別人看見了。
警告:在某些情況下,這種做法并不推薦。例如像 zsh 這種 shell 會繼承當前 shell 的設置,這個時候可能會出現一些意想不到的問題。這個技巧只用于隱藏命令提示符中的 “username@hostname” 部分,僅此而已,如果把這個技巧挪作他用,也可能會出現異常。
目前我們也只是變更了 bash 命令提示符中的內容,下面介紹一下如何對命令提示符進行著色。
通過向 ~/.bashrc
文件寫入一些配置,可以修改 bash 命令提示符的前景色(也就是文本的顏色)和背景色。
例如,下面這一行配置可以令某些文本的顏色變成紅色:
export PS1="\u@\[\e[31m\]\h\[\e[m\] "
添加配置后,執行 source ~/.bashrc
立即生效。
你的 bash 命令提示符就會變成這樣:
類似地,可以用這樣的配置來改變背景色:
export PS1="\u@\[\e[31;46m\]\h\[\e[m\] "
感謝各位的閱讀!關于“在Linux上如何自定義bash命令提示符”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。