日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

Linux 终端命令行提示符的艺术--PS1进阶

發布時間:2023/11/27 生活经验 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux 终端命令行提示符的艺术--PS1进阶 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

話不多說,先瞅瞅我的命令行提示符(有點大):

圖中命令行解釋:
┌[陽歷日期/農歷日期 時間]
├[當前目錄下目錄數+當前目錄下文件數][當前絕對目錄]
└[用戶名@主機名-第幾個終端 ╰_╯]

相關配置文件

全局配置文件:/etc/bash.bashrc或者/ect/bashrc

單用戶配置文件:“~”目錄下的.bashrc隱藏文件

代碼

對應于上圖中的代碼如下(添加位置一般將原有的PS1覆蓋為準,即可以在原有的PS1上修改,也可以直接添加到配置文件的最后):

get_ps1()
{
Date=$(date +%F)Time=$(date -R | cut -c 18-25 |sed 's/,//')Lunar=$(lunar `date +%Y\ %m\ %d` |grep '^Lunar\ :' |awk '{print $3}' |sed 's/^.....\(.*\)..$/\1/')dn=$(ls -l | grep ^d | wc -l);fn=$(expr $(ls | wc -l) - ${dn})Num=$(echo $Lunar|wc -m)
[ "$Num" = "5" ] && space=' '
[ "$Num" = "4" ] && space='  'PS1="\342\224\214[\[\e[01;32m\]${Date}/${Lunar} ${space}${Time}\[\e[00m\]]\n\
\342\224\234[\[\e[01;34m\]${dn}\[\e[00m\]+${fn}][\[\e[01;34m\]\w\[\e[00m\]]\n\
\342\224\224[${debian_chroot:+($debian_chroot)}\[\e[01;32m\]\u@\h-\l \[\e[00m\]\342\225\260\137\342\225\257]\$"
}
PROMPT_COMMAND=get_ps1

如果你覺的上面的命令行提示符太復雜,你也可以將它縮減。。。

你需要了解的

如果你想設計一個自己喜歡的并且夠炫的命令行提示符,你首先要了解以下一些東西。

1)里面涉及到了農歷日期,在Ubuntu 12.04 LTS中可以從源中找到lunar軟件包,但在Fedora和CentOS中并沒有,為此我寫了一個陽歷轉農歷的shell腳本,具體可以參見我的上一篇文章Linux shell實現陽歷轉農歷。

2)轉義符及顏色。這個我就不再羅嗦了,google一下“Linux 命令行 顏色”會有很多答案的。

3)PROMPT_COMMAND,這個是實時命令行的關鍵,這個變量的內容會在顯示bash提示符前執行,所以上面用到的實時內容需要它。

4)特殊字符顯示不了怎么辦?你可以將它轉換為字符編碼,可以在http://0xcc.net/jsescape/進行轉義,在Plain text欄輸入你要轉義的字符,在\OOO欄就是你想要的字符編碼。

轉載于:https://www.cnblogs.com/snowsolf/p/3192224.html

總結

以上是生活随笔為你收集整理的Linux 终端命令行提示符的艺术--PS1进阶的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。