這篇文章將為大家詳細(xì)講解有關(guān)Linux中Bash提示符有什么用,小編覺得挺實(shí)用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
10年積累的網(wǎng)站設(shè)計(jì)、做網(wǎng)站經(jīng)驗(yàn),可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站設(shè)計(jì)制作后付款的網(wǎng)站建設(shè)流程,更有遷安免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。一些能讓你自定義 Bash 提示符的黑科技
當(dāng)你在 Linux 環(huán)境下打開一個 Shell 終端時,會看到命令行中出現(xiàn)了類似下面的一個 Bash 提示符:
[user@$host ~]$
你知道命令行提示符其實(shí)是可以自己設(shè)置添加許多非常有用的信息的嗎?在這篇文章中我就會教你如何自定義自己的 Bash 命令行提示符,想看的話就接著看吧~
如何設(shè)置 Bash 提示符
Bash 提示符是通過環(huán)境變量 PS1 (提示符字符串 1) 來設(shè)置的,它用于交互式 shell 提示符。當(dāng)然如果你需要更多的輸入才能完成一個 Bash 命令時,PS2 環(huán)境變量就是用來設(shè)置多行提示符的:
[dneary@dhcp-41-137 ~]$ export PS1="[Linux Rulez]$ " [Linux Rulez] export PS2="... " [Linux Rulez] if true; then ... echo "Success!" ... fi Success!
在哪里設(shè)置 PS1 的值?
PS1 就是一個普通的環(huán)境變量,系統(tǒng)默認(rèn)值設(shè)置在 /etc/bashrc 中,在我的系統(tǒng)中,默認(rèn)提示符通過以下命令來設(shè)置的:
[ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@\h \W]\\$ "
它判斷 PS1 是否是系統(tǒng)的默認(rèn)值 \s-\v$ ,如果是的話則將值設(shè)置為 [\u@\h \W]\$。(LCTT 譯注:注意命令中用 \ 做了轉(zhuǎn)義。)
但如果你想要自定義提示符,不應(yīng)該修改 /etc/bashrc ,而是應(yīng)該在你的主目錄下將自定義命令加到 .bashrc 文件中。
上面提到的 \u、\h、\W、\s 和 \v 是什么意思?
在 man bash 中的 PROMPTING 章節(jié)中,你能夠找到所有 PS1 和 PS2 相關(guān)的特殊字符的描述,以下是一些比較常用的:
\u:用戶名
\h:短主機(jī)名
\W:當(dāng)前你所在的目錄的名稱(basename),~ 表示你的主目錄
\s:Shell 名字(bash 或者 sh,取決于你的 Shell 的名字是什么)
\v:Shell 的版本號
還有哪些特殊的字符串可以用在提示符當(dāng)中
除了上面這些,還有很多有用的字符串可以用在提示符當(dāng)中:
\d:將日期擴(kuò)展成 “Tue Jun 27” 這種格式
\D{fmt}:允許自定義日期格式——可通過 man strftime 來獲得更多信息
\D{%c}:獲得本地化的日期和時間
\n:換行(參考下面的多行提示符)
\w:顯示當(dāng)前工作目錄的完整路徑
\H:當(dāng)前工作機(jī)器的完整主機(jī)名
除了以上這些,你還可以在 Bash 的 man 頁面的 PROMPTING 部分找到更多的特殊字符和它的用處。
多行提示符
如果你的提示符過長(比如說你想包括 \H 、\w 或完整的日期時間時 ),想將提示符切成兩行,可以使用 \n 將提示符切斷成兩行顯示,比如下面的多行的例子會在第一行顯示日期、時間和當(dāng)前工作目錄,第二行顯示用戶名和主機(jī)名:
PS1="\D{%c} \w\n[\u@\H]$ "
還能再好玩點(diǎn)嗎?
人們偶爾也想將提示符變成彩色的。雖然我覺得彩色提示符讓人分心、易怒,但是也許你很喜歡。如果我們想將日期變成紅色的,目錄變成青藍(lán)色,用戶名搞一個黃色背景,你可以這樣做:
PS1="\[\e[31m\]\D{%c}\[\e[0m\] \[\e[36m\]\w\[\e[0m\]\n[\[\e[1;43m\]\u\[\e[0m\]@\H]$ "
\[..\] :表示一些非打印字符
\e[.. :轉(zhuǎn)義字符,后面的跟著的特定的轉(zhuǎn)義字符串在終端中表示顏色或者其他意思
31m :表示紅色字體(41m 表示是紅色背景)
36m :表示是青藍(lán)色字體
1;43m :表示黃色字體(1;33m 表示黃色字體)
[\e[0m]] :它在最后將顏色恢復(fù)成系統(tǒng)終端默認(rèn)顏色
關(guān)于“Linux中Bash提示符有什么用”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。