bash命令提示符個性設置

  昨天看到一篇關於命令提示符的設置文章,原文地址8個實用而有趣Bash命令提示行,今天試了一下,確實很有意思。自己做了一下組織,可以更方便地設置,並總結一下。

  查找了一些相關資料,關於bash下顏色設置的參考了以前轉載的文章linux終端中輸出彩色字體

  命令提示符設置的一些參數:

        \!    顯示該命令的歷史記錄編號。 
  \#  顯示當前命令的命令編號。 
  \$  顯示$符作爲提示符,如果用戶是root的話,則顯示#號。 
  \\    顯示反斜槓。   
  \d     顯示當前日期。   
  \h     顯示主機名。   
  \n     打印新行。 
  \nnn 顯示nnn的八進制值。   
  \s      顯示當前運行的shell的名字。 
  \t       顯示當前時間。 
  \u     顯示當前用戶的用戶名。 
  \W    顯示當前工作目錄的名字。 
  \w     顯示當前工作目錄的完全路徑。

  本來我也是跟着那篇文章那樣設置,實在是太亂了,想要自己設置一些功能,結果越改越亂,爲了實現笑臉功能和長格式顯示,變成這樣:

  

PS1="\`if [ \$? = 0 ]; then echo \[\e[1\;35m\]\(^_^\)\[\e[0m\]; else echo \[\e[1\;31m\]\(\>_\<\)\[\e[0m\]; fi\`\[\e[35;1m\]\$(/bin/date)\[\e[32m\] : \w\n\[\e[1;36m\](0_0)\u@\h: \[\e[1;34m\]\$(/usr/bin/tty | /bin/sed -e 's:/dev/::'): \[\e[1;36m\]F:\$(/bin/ls -1 | /usr/bin/wc -l | /bin/sed 's: ::g') \[\e[1;33m\]\$(/bin/ls -lah | /usr/bin/head -n 1 | /usr/bin/cut -d ' ' -f 2)b ]\[\e[0m\] \\$ \[\e[0m\]"

  弄得頭疼,後來想想,這也是bash,可以用shell,可以用變量來設置,就清楚多了:  

GREEN="\[\e[32;1m\]" 
WHITE="\[\e[37;1m\]"
BLACK="\[\e[30;1m\]"
RED="\[\e[31;1m\]"
YELLOW="\[\e[33;1m\]"
BLUE="\[\e[34;1m\]"
PURPLE="\[\e[35;1m\]"
DARK_GREEN="\[\e[36;1m\]"
CLEAR="\[\e[0m\]"


_JOB_="jobs:\j"
_FILECOUNT_="F:\$(/bin/ls -1 | /usr/bin/wc -l | /bin/sed 's: ::g')"
_FACE_="\`if [ \$? = 0 ]; then echo \[\e[1\;35m\]^_^\[\e[0m\]; else echo \[\e[1\;31m\]\>_\<\[\e[0m\]; fi\`"
_HISTORY_="\!"
_DATE_="\$(/bin/date)"
_CLOCK_="\t"
_SIZE_="\$(/bin/ls -lah | /usr/bin/head -n 1 | /usr/bin/cut -d ' ' -f 2)"

PS1="$GREEN($WHITE\u@\h$GREEN)-($WHITE$_JOB_$GREEN)-($WHITE$_HISTORY_$GREEN)-($WHITE\w$GREEN)\n($WHITE$_FILECOUNT_$GREEN)\\$ $CLEAR"
顯示了用戶名,主機名,後臺程序數,命令歷史行數,完全路徑及當前文件夾下的文件總數,效果如下圖:

  再進一步,可以把顏色設置的也組合在一起,效果與上圖相同。

JOB="$GREEN($WHITE$_JOB_$GREEN)"
FILECOUNT="$GREEN($WHITE$_FILECOUNT_$GREEN)"
MYPATH="$GREEN($WHITE\w$GREEN)"
HISTORY="$GREEN($WHITE$_HISTORY_$GREEN)"
USER_HOST="$GREEN($WHITE\u@\h$GREEN)"

PS1="$USER_HOST-$JOB-$HISTORY-$MYPATH\n$FILECOUNT\\$ $CLEAR"

  曬曬我最後用的效果(^_^)

 



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章