本文主要是介绍一份bash shell的PS1命令提示符设置脚本,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
版本:
Arch on x220 测试通过。
┌─[✗]─[root@tp]─[/usr]─[0+7]─[96%=]
└─# uname -a
Linux tp 3.6.9-1-ARCH #1 SMP PREEMPT Tue Dec 4 08:04:10 CET 2012 x86_64 GNU/Linux
提示:
最好是source到全局bashrc文件中。
代码:
#!/bin/bash
# bash PS1 setter
# install: echo '. ./ps1bash' >> ~/.bashrc
# uninstall: unset PROMPT_COMMAND;PS1='[\u@\h \W]\$ '
# https://wiki.archlinux.org/index.php/Color_Bash_Prompttxtblk='\e[0;30m' # Black - Regular
txtred='\e[0;31m' # Red
txtgrn='\e[0;32m' # Green
txtylw='\e[0;33m' # Yellow
txtblu='\e[0;34m' # Blue
txtpur='\e[0;35m' # Purple
txtcyn='\e[0;36m' # Cyan
txtwht='\e[0;37m' # White
bldblk='\e[1;30m' # Black - Bold
bldred='\e[1;31m' # Red
bldgrn='\e[1;32m' # Green
bldylw='\e[1;33m' # Yellow
bldblu='\e[1;34m' # Blue
bldpur='\e[1;35m' # Purple
bldcyn='\e[1;36m' # Cyan
bldwht='\e[1;37m' # White
unkblk='\e[4;30m' # Black - Underline
undred='\e[4;31m' # Red
undgrn='\e[4;32m' # Green
undylw='\e[4;33m' # Yellow
undblu='\e[4;34m' # Blue
undpur='\e[4;35m' # Purple
undcyn='\e[4;36m' # Cyan
undwht='\e[4;37m' # White
bakblk='\e[40m' # Black - Background
bakred='\e[41m' # Red
bakgrn='\e[42m' # Green
bakylw='\e[43m' # Yellow
bakblu='\e[44m' # Blue
bakpur='\e[45m' # Purple
bakcyn='\e[46m' # Cyan
bakwht='\e[47m' # White
txtrst='\e[0m' # Text Reset#\342\224\214
#[liao@tp bin]$ echo -e "\0342\0224\0214"
#┌
r='\342\224\214'#\342\224\200
#[liao@tp bin]$ echo -e "\0342\0224\0200"
#─
hyphen='\342\224\200'#\342\224\224
#[liao@tp bin]$ echo -e "\0342\0224\0224"
#└
l='\342\224\224'#\342\234\227
#[liao@tp bin]$ echo -e "\0342\0234\0227"
#✗
x='\342\234\227'bat_status()
{
BATTERY=/sys/devices/platform/smapi/BAT0BATSTATE=`cat $BATTERY/state`
CHARGE=`cat $BATTERY/remaining_percent`NON='\033[00m'
BLD='\033[01m'
RED='\033[01;31m'
GRN='\033[01;32m'
YEL='\033[01;33m'COLOUR="$RED"case "${BATSTATE}" in'idle')BATSTT="$BLD=$NON";;'charging')BATSTT="$BLD+$NON";;'discharging')BATSTT="$BLD-$NON";;
esacif [ "$CHARGE" -gt "15" ]
thenCOLOUR="$YEL"
fiif [ "$CHARGE" -gt "30" ]
thenCOLOUR="$GRN"
fiecho -e "${COLOUR}${CHARGE}%${NON}${BATSTT}"
}get_ps1()
{
[ $? != 0 ] && lc_rslt=[${txtred}${x}${txtrst}]${hyphen} || unset lc_rslt
[ ${EUID} == 0 ] && uc=${txtred} || uc=${txtylw}
dn=$(ls -l | grep ^d | wc -l);fn=$(expr $(ls | wc -l) - ${dn})
PS1="${r}${hyphen}${lc_rslt}[${uc}\u${txtrst}@${txtcyn}\h${txtrst}]${hyphen}[${txtpur}\w${txtrst}]${hyphen}[${txtgrn}${fn}+${dn}${txtrst}]${hyphen}[$(bat_status)]${txtrst}\n${l}${hyphen}\\$ "
}PROMPT_COMMAND=get_ps1
效果图:
[用户名@主机]-[当前目录]-[文件数+文件夹数]-[电池剩余百分比 充电状态]
这篇关于一份bash shell的PS1命令提示符设置脚本的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!