自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何調(diào)教你的終端提示符?

系統(tǒng) Linux
之前有讀者問到,如何在終端顯示當(dāng)前的git分支,實(shí)際上這就是自定義終端顯示配置了。不過在直接介紹如何顯示當(dāng)前分支之前,來看看到底怎么回事。

之前有讀者在《Linux下如何優(yōu)雅地修正命令?》中問到,如何在終端顯示當(dāng)前的git分支,實(shí)際上這就是自定義終端顯示配置了。

不過在直接介紹如何顯示當(dāng)前分支之前,來看看到底怎么回事。

bashrc配置

每次我們登錄一個shell終端的時候,前面都有一些固定的顯示信息:

  1. root@ubuntu:# 

這些顯示信息其實(shí)可以配置的。

我們打開用戶家目錄下的.bashrc文件,找到類似下面的關(guān)于PS1的內(nèi)容:

  1. if [ "$color_prompt" = yes ]; then 
  2.     PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\W\[\033[00m\]\$ ' 
  3. else 
  4.     PS1='${debian_chroot:+($debian_chroot)}\u@\h:\W\$ ' 
  5. fi 

這里就是用來配置你的終端顯示的了。

有必要對里面的一些信息進(jìn)行解釋。例如[\033[01;32m]中,01為前景色,32為背景色,顏色代碼如下:

  1. 前景色 背景色   
  2. 30      40      黑色 
  3. 31      41      紅色 
  4. 32      42      綠色 
  5. 33      43      黃色 
  6. 34      44      藍(lán)色 
  7. 35      45      紫紅色 
  8. 36      46      青藍(lán)色 
  9. 37      47      白色 

舉個例子:

  1. $ echo -e "\033[31m red color \033[0m" 
  2.  red color  

而其他的符號什么意思呢?

  1. \d :代表日期, 
  2. \H :完整的主機(jī)名稱 
  3. \h :僅取主機(jī)的第一個名字 
  4. \t :顯示時間為24小時格式,如:HH:MM:SS 
  5. \T :顯示時間為12小時格式 
  6. \A :顯示時間為24小時格式:HH:MM 
  7. \u :用戶名 
  8. \v :BASH的版本信息 
  9. \w :完整的工作目錄名稱 
  10. \W :列出最后一個目錄 
  11. \$ :提示字符,如果是root時,提示符為:# ,普通用戶則為:$ 

所以說白了,就是根據(jù)你自己的需要配置自己終端想要的信息。

這個時候我們再來看前面的其中一條簡單的配置:

  1. '${debian_chroot:+($debian_chroot)}\u@\h:\W\$ ' 

$debian_chroot這里我們可以忽略,因?yàn)樗且粋€變量的值,我們完全可以自定義。

可以看到這里有:

  1. \u 用戶名 
  2. \h 主機(jī)名 
  3. \W 最后一個目錄名 
  4. \$ 提示字符 

而通過命令獲取的相關(guān)內(nèi)容分別為:

  1. $ whoami 
  2. root 
  3. $ hostname 
  4. ubuntu 
  5. $ basename `pwd` 
  6. 公眾號編程珠璣 

所以我的終端最終顯示的是:

  1. root@ubuntu:公眾號編程珠璣#  

通常來說,默認(rèn)的配置就可以了,經(jīng)常需要改動的可能就是默認(rèn)它顯示了全路徑,這里只需要將

  1. \w 替換為 \W 

即可。

然后執(zhí)行命令:

  1. source ~/.bashrc 

讓配置生效即可。

再來梳理一下過程:

  • 根據(jù)需要修改PS1顯示項(xiàng)
  • 執(zhí)行source .bashrc使其生效

這里注意,Linux啟動過程中,配置文件加載是有順序的,

某用戶家目錄下的bashrc只影響當(dāng)前用戶,如果想要全系統(tǒng)修改生效,可以修改/etc/bash.bashrc(系統(tǒng)差異,可能不一樣)。

如何顯示當(dāng)前git分支

其實(shí)到這里你應(yīng)該基本上已經(jīng)明白了,無非就是將git當(dāng)前分支的信息配置在PS1中罷了。

如何獲取當(dāng)前git分支

我們都知道:

  1. $ git branch 
  2.   master 
  3. * testBranch 

可以查看分支信息,其中前面有*的表示當(dāng)前所在分支,所以我們通過字符處理拿到即可。

或者直接通過命令:

  1. $ git rev-parse --abbrev-ref HEAD 
  2. testBranch 

拿到。

將分支信息配置在PS1中

考慮到有的目錄下可能并不存在git項(xiàng)目,所以需要做是否為空的判斷,也要注意處理標(biāo)準(zhǔn)錯誤。因此將獲取git分支信息的部分寫成一個shell函數(shù):

  1. git_branch() 
  2.    branch=`git rev-parse --abbrev-ref HEAD 2>/dev/null` 
  3.    if [ "${branch}" != "" ] 
  4.    then 
  5.        if [ "${branch}" = "(no branch)" ] 
  6.        then 
  7.            branch="(`git rev-parse --short HEAD`...)" 
  8.        fi 
  9.        echo "($branch)" 
  10.    fi 

將其加入到.bashrc文件結(jié)尾中,然后修改PS1的內(nèi)容:

  1. PS1='${debian_chroot:+($debian_chroot)}\u@\h:\W$(git_branch)\$ ' 
  2. PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\W$(git_branch)\[\033[00m\]\$ ' 

修改完成后保存,執(zhí)行:

  1. $ source ~/.bashrc 

當(dāng)前里面的顏色你可以根據(jù)自己的需要自定義。再來看看之前的效果,是不是覺得沒那么難配置了?

總結(jié)

實(shí)際上就是根據(jù)自己的需要去配置終端顯示罷了,可以自己選擇顏色,變量內(nèi)容等等。

責(zé)任編輯:趙寧寧 來源: 編程珠璣
相關(guān)推薦

2019-06-25 14:05:41

Linux提示符命令

2023-10-30 17:31:40

Linux提示符顏色

2017-07-26 13:30:54

LinuxShell命令

2023-09-24 19:28:29

微軟Windows 11

2022-02-15 09:40:45

提示符Starship

2021-02-25 17:54:43

StarshipshellLinux

2021-12-25 23:22:32

Windows 10Windows微軟

2010-03-15 15:38:47

Python運(yùn)行

2022-04-02 10:45:17

PythonShell命令

2010-06-23 16:19:48

Linux Bash

2017-07-19 08:45:45

2010-06-01 09:09:15

MySQL命令提示符程

2009-09-08 08:18:09

Windows 7命令提示符

2018-11-27 11:10:53

Linuxbash命令

2017-07-24 10:42:24

IT技術(shù)周刊

2011-09-19 15:16:28

vista命令提示符

2012-05-10 09:36:12

LinuxPS

2021-05-31 11:45:37

LinuxRustShell

2022-01-14 23:41:28

Windows 10Windows微軟

2023-05-18 08:00:00

LLMGPT-4自然語言模型
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號