日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

在這一章中,我們將會看一下表面上看來很瑣碎的細節-shell 提示符。但這會揭示一些 shell 和 終端仿真器的內部工作方式。

和 linux 內的許多程序一樣,shell 提示符是可高度配置的,雖然我們把它相當多地看作是理所當然的, 但是我們一旦學會了怎樣控制它,shell 提示符是一個相當有用的工具。

解剖一個提示符

我們默認的提示符看起來像這樣:

[me@linuxbox ~]$

注意它包含我們的用戶名,主機名和當前工作目錄,但是它又是怎樣得到這些東西的呢? 結果證明非常簡單。提示符是由一個環境變量定義的,叫做 PS1(是“prompt string one” 的簡寫)。我們可以通過 echo 命令來查看 PS1的內容。

[me@linuxbox ~]$ echo $PS1
[\u@h W]$

注意:如果你 shell 提示符的內容和上例不是一模一樣,也不必擔心。每個 Linux 發行版 定義的提示符稍微有點不同,其中一些相當異于尋常。

從輸出結果中,我們看到那個 PS1 環境變量包含一些這樣的字符,比方說中括號,@符號,和美元符號, 但是剩余部分就是個謎。我們中一些機敏的人會把這些看作是由反斜杠轉義的特殊字符,就像我們 在第八章中看到的一樣。這里是一部分字符列表,在提示符中 shell 會特殊對待這些字符:

Linux的shell提示符是可以自定義的

 


Linux的shell提示符是可以自定義的

 

試試一些可替代的提示符設計

參照這個特殊字符列表,我們可以更改提示符來看一下效果。首先, 我們把原來提示符字符串的內容備份一下,以備之后恢復原貌。為了完成備份, 我們把已有的字符串復制到另一個 shell 變量中,這個變量是我們自己創造的。

[me@linuxbox ~]$ ps1_old="$PS1"

我們新創建了一個叫做 ps1_old 的變量,并把變量 PS1的值賦 ps1_old。通過 echo 命令可以證明 我們的確復制了 PS1的值。

[me@linuxbox ~]$ echo $ps1_old
[\u@h W]$

在終端會話中,我們能在任一時間復原提示符,只要簡單地反向操作就可以了。

[me@linuxbox ~]$ PS1="$ps1_old"

現在,我們準備開始,讓我們看看如果有一個空的字符串會發生什么:

[me@linuxbox ~]$ PS1=

如果我們沒有給提示字符串賦值,那么我們什么也得不到。根本沒有提示字符串!提示符仍然在那里, 但是什么也不顯示,正如我們所要求的那樣。我們將用一個最小的提示符來代替它:

PS1="$ "

這樣要好一些。至少能看到我們在做什么。注意雙引號中末尾的空格。當提示符顯示的時候, 這個空格把美元符號和光標分離開。

在提示符中添加一個響鈴:

$ PS1="a$ "

現在每次提示符顯示的時候,我們應該能聽到嗡嗡聲。這會變得很煩人,但是它可能會 很有用,特別是當一個需要運行很長時間的命令執行完后,我們要得到通知。

下一步,讓我們試著創建一個信息豐富的提示符,包含主機名和當天時間的信息。

$ PS1="A h $ "
17:33 linuxbox $

試試其他上表中列出的轉義序列,看看你能否想出精彩的新提示符。

分享到:
標簽:Linux shell
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定