昨天看到一篇關於命令提示符的設置文章,原文地址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"
曬曬我最後用的效果(^_^)