一份bash shell的PS1命令提示符设置脚本

2024-03-10 00:08

本文主要是介绍一份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命令提示符设置脚本的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/792388

相关文章

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

Java实现远程执行Shell指令

《Java实现远程执行Shell指令》文章介绍使用JSch在SpringBoot项目中实现远程Shell操作,涵盖环境配置、依赖引入及工具类编写,详解分号和双与号执行多指令的区别... 目录软硬件环境说明编写执行Shell指令的工具类总结jsch(Java Secure Channel)是SSH2的一个纯J

Java调用Python脚本实现HelloWorld的示例详解

《Java调用Python脚本实现HelloWorld的示例详解》作为程序员,我们经常会遇到需要在Java项目中调用Python脚本的场景,下面我们来看看如何从基础到进阶,一步步实现Java与Pyth... 目录一、环境准备二、基础调用:使用 Runtime.exec()2.1 实现步骤2.2 代码解析三、

Python脚本轻松实现检测麦克风功能

《Python脚本轻松实现检测麦克风功能》在进行音频处理或开发需要使用麦克风的应用程序时,确保麦克风功能正常是非常重要的,本文将介绍一个简单的Python脚本,能够帮助我们检测本地麦克风的功能,需要的... 目录轻松检测麦克风功能脚本介绍一、python环境准备二、代码解析三、使用方法四、知识扩展轻松检测麦

MySQL设置密码复杂度策略的完整步骤(附代码示例)

《MySQL设置密码复杂度策略的完整步骤(附代码示例)》MySQL密码策略还可能包括密码复杂度的检查,如是否要求密码包含大写字母、小写字母、数字和特殊字符等,:本文主要介绍MySQL设置密码复杂度... 目录前言1. 使用 validate_password 插件1.1 启用 validate_passwo

基于Python Playwright进行前端性能测试的脚本实现

《基于PythonPlaywright进行前端性能测试的脚本实现》在当今Web应用开发中,性能优化是提升用户体验的关键因素之一,本文将介绍如何使用Playwright构建一个自动化性能测试工具,希望... 目录引言工具概述整体架构核心实现解析1. 浏览器初始化2. 性能数据收集3. 资源分析4. 关键性能指

shell脚本批量导出redis key-value方式

《shell脚本批量导出rediskey-value方式》为避免keys全量扫描导致Redis卡顿,可先通过dump.rdb备份文件在本地恢复,再使用scan命令渐进导出key-value,通过CN... 目录1 背景2 详细步骤2.1 本地docker启动Redis2.2 shell批量导出脚本3 附录总

Oracle数据库定时备份脚本方式(Linux)

《Oracle数据库定时备份脚本方式(Linux)》文章介绍Oracle数据库自动备份方案,包含主机备份传输与备机解压导入流程,强调需提前全量删除原库数据避免报错,并需配置无密传输、定时任务及验证脚本... 目录说明主机脚本备机上自动导库脚本整个自动备份oracle数据库的过程(建议全程用root用户)总结

python设置环境变量路径实现过程

《python设置环境变量路径实现过程》本文介绍设置Python路径的多种方法:临时设置(Windows用`set`,Linux/macOS用`export`)、永久设置(系统属性或shell配置文件... 目录设置python路径的方法临时设置环境变量(适用于当前会话)永久设置环境变量(Windows系统

linux下shell脚本启动jar包实现过程

《linux下shell脚本启动jar包实现过程》确保APP_NAME和LOG_FILE位于目录内,首次启动前需手动创建log文件夹,否则报错,此为个人经验,供参考,欢迎支持脚本之家... 目录linux下shell脚本启动jar包样例1样例2总结linux下shell脚本启动jar包样例1#!/bin