?
快捷搜索:  as  test  1111  test aNd 8=8  test++aNd+8=8  as++aNd+8=8  as aNd 8=8

永樂國際ag旗艦廳下載:定制精彩的命令提示行

?

提示行魔術--增強系統提示行

Daniel Robbins

Gentoo Technologies 公司總載兼首席履行官

內容:

提示行根基

彩色化

Xterm 中的樂趣

參考資本

作者簡介

假如您很輕易使 shell 提示行變得色彩鮮麗斕且帶有更多信息, 為什么還要堅持用單調 的標準 shell 提示行呢?在這篇技術中,Daniel Robbins 將闡明若何得到相符您的意愿的shell 提示行,并會闡明若何動態更新 X 終真個標題欄。

作為 Linux/UNIX 人,我們有很長的光陰是在 shell 中事情,并且在許多環境下, 下面這一行便是始終盯著我們的那個提示行:

bash-2.04$

假如您碰巧是超級用戶 (root),您就有權應用下面這個標致的標示“身份”的提示行版本:

bash-2永樂國際ag旗艦廳下載.04#

這些提示行并不是十分漂亮。這也就難怪幾種 Linux 版本對默認提示行進行了進級, 在此中增添了顏色和更多的信息。然則,即便您正好有一個本身帶有很好的彩色提示行的新式版本,它也弗成能是完美完好的。您或許盼望在提示行中增添或變動幾種顏色,或者增添(或刪除)一些信息。從頭開始設計屬于您自己的彩色的、顛末裝飾的提示行并不難。

提示行根基在 bash 下,可以經由過程變動 PS1 情況變量的值來設置提示行,如下所示:

$ export PS1="> "

>

變動會急速生效,經由過程將 "export" 定義放在您的 ~/.bashrc 文件中可將這種變動固定

下來。只要您樂意,PS1 可以包孕隨意率性數量的純文本:

$ export PS1="This is my super prompt > "

This is my super prompt >

只管這很有趣,但在提示行中包孕大年夜量靜態文本并不是分外有用。大年夜多半定制的提示行包 含諸如用戶名、事情目錄或主機名之類的信息。 這些花絮信息可以贊助您在 shell 天下中遨游。例如,下面的提示行將顯示您的用戶名和主機名:

$ export PS1="\[email protected]\H > "

[email protected] >

這個提示行對付那些以多個不合名稱的帳戶登錄多臺機械的人尤為有用,由于它可以提醒您:您今朝在哪臺機永樂國際ag旗艦廳下載械上操作,擁有什么權限。

在上面的示例中,我們應用了專用的用反斜杠轉義的字符序列,藉此看護 bash 將用戶名

和主機名插入提示行中,當這些轉義字符序列呈現在 PS1 變量中時,bash 就會用特定的值替

換它們。我們應用了序列 "\u"(表示用戶名)和 "\H"(表示主機名的第一部分)。下面是 bash 可識別的整個專用序列的完備列表(您可以在 bash man page 的 "PROMPTING" 部分找

到這個列表):

序列 闡明

\a ASCII 響鈴字符(也可以鍵入 \007)

\d "Wed Sep 06" 款式的日期

\e ASCII 轉義字符(也可以鍵入 \033)

\h 主機名的第一部分(如 "mybox")

\H 主機的全稱(如 "mybox.mydomain.com")

\j 在此 shell 中經由過程按 ^Z 掛起的進程數

\l 此 shell 的終端設備名(如 "ttyp4")

\n 換行符

\r 回車符

\s shell 的名稱(如 "bash")

\t 24 小時制光陰(如 "23:01:01")

\T 12 小時制光陰(如 "11:01:01")

\@ 帶有 am/pm 的 12 小時制光陰

\u 用戶名

\v bash 的版本(如 2.04)

\V Bash 版本(包括補丁級別) ?/td>

\w 當前事情目錄(如 "/home/drobbins")

\W 當前事情目錄的“基名 (basename)”(如 "drobbins")

\! 當前敕令在歷史緩沖區中的位置

\# 敕令編號(只要您鍵入內容,它就會在每次提示時累加)

\$ 假如您不是超級用戶 (root),則插入一個 "$";假如您是超級用戶,則顯示一個 "#"

\xxx 插入一個用三位數 xxx(用零代替未應用的數字,如 "\007")表示的 ASCII 字符

\\ 反斜杠

\[ 這個序列應該呈現在不移動光標的字符序列(如顏色轉義序列)之前。它使 bash 能夠精確謀略自動換行。

\] 這個序列應該呈現在非打印字符序列之后。

這樣,您已經知道了 bash 頂用反斜杠轉義的整個專用序列。請輕細練習訓練一下這些序列,以對它們的事情要領得到一些感性熟識。在您做了一些測試之后,下面開始添加顏色。

彩色化

添加顏色相稱輕易;第一步是設計不帶顏色的提示行。然后,我們所要做的只是添加終端 (而不是 bash)可識別的專用轉義序列,以使它以彩色顯示文本的某些部分。標準 Linux 終

端和 X 終端容許您設置前景(翰墨)顏色和背景顏色,假如必要,還可以啟用 "bold" 字符。

有八種顏色可供我們選擇。

顏色是經由過程在 PS1 中添加專用序列來選擇的 -- 基礎上是夾在 "\e["(永樂國際ag旗艦廳下載轉義開方括號)

和 "m" 之間數字值。假如指定一個以上的數字代碼,則用分號將它們分開。 下面是一個顏色

代碼示例:

"\e[0m"

假如將數字代碼指定為零,則它就會看護終端將前景、背景和加粗設置重置為它們的默認 值。您可能會在在提示行停止時應用這個代碼,以使您鍵入的翰墨成為非彩色的?,F在,讓我 們看一下這些顏色代碼。請留意下面的抓屏結果:

顏色表

要應用這個表,首先請查找您要應用的顏色,然后查找對應的前景編號 (30-37) 和背景 編號 (40-47)。例如,假如您愛好黑底綠字,則可將編號分手設為 32 和 40。 然后打開您的 提示行定義并在此中添加適當的顏色代碼。下面的定義:

export PS1="\w> "

變為:

export PS1="\e[32;40m\w> "

到現在為止,提示行只管已經很不錯了,但仍不太完美。在 bash 顯示出事情目錄今后,我們必要應用 "\e[0m" 序列將顏色從新設置為正常值。

export PS1="\e[32;40m\w> \e[0m" 這個定義將顯示一個漂亮的綠色提示行,但我們仍必要做一些收尾事情。我們不必要包括

"40" 這個背景顏色設置,由于它將背景設置為玄色,而玄色是默認顏色。此外,綠色還很暗;

我們經由過程添加一個 "1" 顏色代碼來修正這個問題,這將啟用更亮的加粗翰墨。 除了這個改動

之外,我們還必要將整個非打印字符用專用的 bash 轉義序列 "\[" 和 "\]" 括起來。這兩個序列看護 bash,被括起來的字符不占用行上的任何空間, 這樣就使自動換行能夠繼承正常工 作。沒有這兩個轉義序列,只管您有了一個異常漂亮的提示行,然則假如您鍵入的敕令正好到 達終真個最右端,就會造成顯示紛亂。下面是我們終極的提示行:

export PS1="\[\e[32;1m\]\w> \[\e[0m\]"

別擔心在同一個提示行中應用幾種顏色,就像下面這樣:

export PS1="\[\e[36;1m\]\[email protected]\[\e[32;1m\]\H> \[\e[0m\]"

Xterm 中的樂趣

我已闡清楚明了若何在提示行中添加信息和顏色,但您還可以更進一步。您可以經由過程在提示行中添加專用代碼來使 X 終端(如 rxvt 或 aterm)的標題欄獲得動態更新。 您所要做的只是

將下面的序列添加到您的 PS1 提示行中:

"\e]2;titlebar\a"

只須用您盼望其呈現在 永樂國際ag旗艦廳下載xterm 標題欄中的翰墨調換子串 "titlebar" 即可, 現在已經一 切就緒了!不必應用靜態翰墨;您可以將 bash 轉義序列插入標題欄中。請查看下面這個示例,它將用戶名、主機名和當前事情目錄顯示在標題欄中,并定義了一個簡短、豁亮的綠色提示行:

export PS1="\[\e]2;\[email protected]\H \w\a\e[32;1m\]>\[\e[0m\] "

這便是我在上面的抓屏結果中所用的那個提示行。我愛好這個提示行,由于它將整個信息顯示在標題欄上,而不是顯示在終端上,終端對一行可以顯示若干字符有限定。順便提一句,

確保用 "\[" 和 "\]" 將您的標題欄序列括起來(由于就終端而言,這個序列長短打印序列)。

將大年夜量信息放在標題欄中的問題是,假如您應用非圖形終端(如系統節制臺),則看不到這些

信息。為了辦理這個問題,可以在您的 .bashrc 中添加以下幾行:

if [ "$TERM" = "linux" ]

then

#we're on the system console or maybe telnetting in

export PS1="\[\e[32;1m\]\[email protected]\H > \[\e[0m\]"

else

#we're not on永樂國際ag旗艦廳下載 the console, assume an xterm

export PS1="\[\e]2;\[email protected]\H \w\a\e[32;1m\]>\[\e[0m\] "

fi

這個 bash 前提語句將根據當前的終端設置動態設置提示行。為了得到同等性,您必然希

望設置設置設備擺設擺設您的 ~/.bash_profile,以便它在啟動時搜索 (source) 您的 ~/.bashrc。確保您的

~/.bash_profile 文件中有以下這樣一行:

source ~/.bashrc

這樣,無論您開啟一個登錄 shell 照樣一個非登錄 shell,都邑得到同樣的提示行。

好了,您已掌握了提示行魔術?,F在盡情享受一下,制作一個漂亮的彩色提示行吧!

參考資本

* rxvt 是一款既好又小的 xterm,它正好有大年夜量關于轉義序列的文檔資料, 這些資料都

集中在源代碼 tar 包中的 "doc" 目錄下。

* aterm 是基于 rxvt 的另一款終端法度榜樣。它支持幾種很好的可視化特點,如透明和著色。

* bashish 是適用于各類終真個一種主題引擎。請查看事情中的 bashish 的一些很好的

抓屏結果!

作者簡介

Daniel Robbins 住在新墨西哥州的 Albuquerque,他是 Gentoo Technologies 公司的總

載兼首席履行官,他照樣 Gentoo Linux(一種運行于小我謀略機上的高檔 Linux)和

Portage 系統(Linux 的下一代端口系統)的創作者。他同時也是 Macmillan 出版的

Caldera OpenLinux Unleashed、SuSE Linux Unleashed 和 Samba Unleashed 幾本書的緊張

作者之一。因為深受 Pan Man 的影響,Daniel 在讀二年級時第一次接解到 Logo 編程說話后

即執迷于謀略機。這可能是他后來作為 SONY El

免責聲明:以上內容源自網絡,版權歸原作者所有,如有侵犯您的原創版權請告知,我們將盡快刪除相關內容。

您可能還會對下面的文章感興趣:

快三平台开户