亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Linux Bash 提示符的一些騷操作(自定義 Bash 提示符)

 更新時(shí)間:2017年07月23日 20:59:30   投稿:mdxy-dxy  
這篇文章主要介紹了Linux Bash 提示符的一些騷操作,一些能讓你自定義 Bash 提示符的黑科技,需要的朋友可以參考下

一些能讓你自定義 Bash 提示符的黑科技

當(dāng)你在 Linux 環(huán)境下打開(kāi)一個(gè) Shell 終端時(shí),會(huì)看到命令行中出現(xiàn)了類似下面的一個(gè) Bash 提示符:

[user@$host ~]$

你知道命令行提示符其實(shí)是可以自己設(shè)置添加許多非常有用的信息的嗎?在這篇文章中我就會(huì)教你如何自定義自己的 Bash 命令行提示符,想看的話就接著看吧~

如何設(shè)置 Bash 提示符

Bash 提示符是通過(guò)環(huán)境變量 PS1 (提示符字符串 1Prompt String 1) 來(lái)設(shè)置的,它用于交互式 shell 提示符。當(dāng)然如果你需要更多的輸入才能完成一個(gè) Bash 命令時(shí),PS2 環(huán)境變量就是用來(lái)設(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 就是一個(gè)普通的環(huán)境變量,系統(tǒng)默認(rèn)值設(shè)置在 /etc/bashrc 中,在我的系統(tǒng)中,默認(rèn)提示符通過(guò)以下命令來(lái)設(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 的版本號(hào)

還有哪些特殊的字符串可以用在提示符當(dāng)中

除了上面這些,還有很多有用的字符串可以用在提示符當(dāng)中:

  • \d:將日期擴(kuò)展成 “Tue Jun 27” 這種格式
  • \D{fmt}:允許自定義日期格式——可通過(guò) man strftime 來(lái)獲得更多信息
  • \D{%c}:獲得本地化的日期和時(shí)間
  • \n:換行(參考下面的多行提示符)
  • \w:顯示當(dāng)前工作目錄的完整路徑
  • \H:當(dāng)前工作機(jī)器的完整主機(jī)名

除了以上這些,你還可以在 Bash 的 man 頁(yè)面的 PROMPTING 部分找到更多的特殊字符和它的用處。

多行提示符

如果你的提示符過(guò)長(zhǎng)(比如說(shuō)你想包括 \H 、\w 或完整的日期時(shí)間時(shí) ),想將提示符切成兩行,可以使用 \n 將提示符切斷成兩行顯示,比如下面的多行的例子會(huì)在第一行顯示日期、時(shí)間和當(dāng)前工作目錄,第二行顯示用戶名和主機(jī)名:

PS1="\D{%c} \w\n[\u@\H]$ "

還能再好玩點(diǎn)嗎?

人們偶爾也想將提示符變成彩色的。雖然我覺(jué)得彩色提示符讓人分心、易怒,但是也許你很喜歡。如果我們想將日期變成紅色的,目錄變成青藍(lán)色,用戶名搞一個(gè)黃色背景,你可以這樣做:

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)顏色

你可以在 Bash prompt HOWTO 這里找到更多的顏色代碼,甚至可以讓字符反相和閃爍!我不知道為什么地球人會(huì)有這種想法,但是你可以這么干!

所以你最喜歡的自定義提示符是什么樣子的呢?有沒(méi)有讓你抓狂的自定義提示符呢?請(qǐng)?jiān)谠u(píng)論里告訴我吧~

(照片來(lái)源:ajmexico. 修改自 Jason Baker. CC BY-SA 2.0.)

作者簡(jiǎn)介:

Dave Neary - Dave Neary 是紅帽開(kāi)源和標(biāo)準(zhǔn)化團(tuán)隊(duì)成員,幫助開(kāi)源項(xiàng)目對(duì)紅帽的成功至關(guān)重要。自從在 1999 年為 GIMP 提交了第一個(gè)補(bǔ)丁以來(lái),他一直帶著各種不同的帽子,在開(kāi)源的世界徜徉。

via: https://opensource.com/article/17/7/bash-prompt-tips-and-tricks

作者:Dave Neary

相關(guān)文章

最新評(píng)論