那些年我们用过的xshell小彩蛋
优化PS1变量
vi /etc/profile.d/ps1.sh
_set_prompt () {
#see: http://misc.flogisoft.com/bash/tip_colors_and_formatting
#Reset \e[0m
## Formatting:
#Bold \e[1m
#Dim \e[2m
#Underlined \e[4m
## 8/16 Colors: 9X 4X 10X
#Default fg \e[39m Default bg
#Black \e[30m Dark gray bg Black bg Dark gray
#Red \e[31m Light bg bg Light
#Green \e[32m Light bg bg Light
#Yellow \e[33m Light bg bg Light
#Blue \e[34m Light bg bg Light
#Magenta \e[35m Light bg bg Light
#Cyan \e[36m Light bg bg Light
#Light gray \e[37m White bg bg White
_last_exit_code=$? # Must come first!
C_EC='\[\e[1;37m\]'$(printf '%3s' ${_last_exit_code})'\[\e[0m\]'
#todo: set encoding to UTF-8 !
FancyX='\342\234\227' # ✗ ✘
Checkmark='\342\234\223' # ✓
C_Fail='\[\e[1;31m\]'${FancyX}'\[\e[0m\]'
C_Ok='\[\e[32m\]'${Checkmark}'\[\e[0m\]'
C_Time='\[\e[2;37m\]''\t''\[\e[0m\]'
C_NormalUser='\[\e[2;33m\]''\u''\[\e[0m\]'
C_RootUser='\[\e[1;35m\]''\u''\[\e[0m\]'
if [ $(uname -s) == "Darwin" ]; then
_ip_addr=$(ipconfig getifaddr $(netstat -nr | awk '{ if ($1 ~/default/) { print $6} }'))
elif [ $(uname -s) == "Linux" ]; then
# may print $(NF-2)
#_ip_addr=$(ip route | awk '/ src / {print $NF}' | head -1 )
_ip_addr=$(ip route | grep -oP '(?<=src )[0-9.]+' | tail -1 )
fi
C_Host='\[\e[1;33m\]'$(hostname -A | awk '{print $1}')'\[\e[0m\]','\[\e[4;32m\]'${_ip_addr:-\h}'\[\e[0m\]'
C_Pwd='\[\e[36m\]''\w''\[\e[0m\]'
C_Marker='\[\e[1;37m\]''\$''\[\e[0m\]'
git diff --exit-code --quiet HEAD >/dev/null 2>&1
_git_diff_exit_code=$?
if [ ${_git_diff_exit_code} -eq 1 ]; then
C_Marker='\[\e[101m\]'*'\[\e[0m\]'" ${C_Marker}"
elif [ ${_git_diff_exit_code} -eq 0 ]; then
C_Marker='\[\e[102m\]'='\[\e[0m\]'" ${C_Marker}"
fi
# Add a bright white exit status for the last command
PS1="$C_EC "
# If it was successful, print a green check mark.
# Otherwise, print a red X.
if [[ ${_last_exit_code} -eq 0 ]]; then
PS1+="$C_Ok "
else
PS1+="$C_Fail "
fi
# print HH:ii:ss
PS1+="$C_Time "
# If root, just print the host in red. Otherwise,
# print the current user and host in green.
if [[ $EUID -eq 0 ]]; then
PS1+="${C_RootUser}@${C_Host}:"
else
PS1+="${C_NormalUser}@${C_Host}:"
fi
# Print the working directory and prompt marker
PS1+="$C_Pwd $C_Marker "
}
PROMPT_COMMAND='_set_prompt'
```1.
2)[root@ceph121 ~]# cat /etc/profile
PS1='[\[\e[31;1m\]\u@\[\e[32;1m\]\h\[\e[34;1m\] \W\[\e[0m\]]\$ '
那些年我们用过的xshell小彩蛋的更多相关文章
- SpringBoot的一个小彩蛋
彩蛋这种东西还算比较常见,在电影或者游戏里面我们也遇见过不少.今天就简单介绍一下SpringBoot里面的一个小彩蛋. 玩过SpringBoot的同志都知道,SpringBoot的启动界面是这酱紫的: ...
- Github不为人知的一个功能,一个小彩蛋
Github 是一个基于Git的代码托管平台,相信很多人都用过,当然这些"很多人"中大部分都是程序员.当你在Github上创建仓库时(Github称项目为仓库),你会给这个仓库添加 ...
- Build 2019 彩蛋
N久没写过博客了… 最近在玩 APEX 但是手残党表示打到15级了,至今杀敌 4 人… 当快递员是越来越顺手了… 今年巨硬的 Build 大会会在 5 月 6-8 号召开 新发布的 Hololens ...
- Python彩蛋--zen of python
今天早上在公交上浏览博客的时候,发现了python里面的一个小彩蛋--zen of python 一首python之歌 我们来看一看... 是不是很简单,在python shell 里 输入 im ...
- 弹指间,网页灰飞烟灭——Google灭霸彩蛋实现
不知道大家有没有看这段时间最火的一部电影<复仇者联盟4:终局之战>,作为漫威迷的我还没看,为什么呢?因为太贵了,刚上映的那周,一张IMAX厅的票价已经达到了299的天价,作为搬砖民工是舍不 ...
- Chrome 中的彩蛋,一款小游戏,你知道吗?
今天看到一篇文章,介绍chrome中的彩蛋,带着好奇心进去看了一眼,没想到发现了一款小游戏,个人觉得还不错,偶尔可以玩一下,放松放松心情!^_^ 当 Chrome 无法连接到互联网时, 或者上着网突然 ...
- [深入浅出Windows 10]模拟实现微信的彩蛋动画
9.7 模拟实现微信的彩蛋动画 大家在玩微信的时候有没有发现节日的时候发一些节日问候语句如“情人节快乐”,这时候会出现很多爱心形状从屏幕上面飘落下来,我们这小节就是要模拟实现这样的一种动画效果.可能微 ...
- Chrome 中的彩蛋——T-Rex
今天,从网页上看到chrome的T-Rex的彩蛋,眨眼间完了10分钟.分享出来,只是好玩. 当 Chrome 无法连接到互联网时,或者上着网突然掉线,刷新页面时报错,我们都会看到T-Rex的身影,没错 ...
- .NET开发者的机遇与WebAssembly发展史(有彩蛋)
一.唠唠WebAssembly的发展历程 目前有很多支持WebAssembly的项目,但发展最快的是Blazor,这是一个构建单页面的.NET技术,目前已经从Preview版本升级到了beta版本,微 ...
- 40个超有趣的Linux命令行彩蛋和游戏
40个有趣的Linux命令行彩蛋和游戏,让你假装成日理万机的黑客高手.附一键安装脚本,在树莓派和ubuntu云主机上亲测成功,有些还可以在Windows的DOS命令行中运行. 本文配套B站视频:40个 ...
随机推荐
- [C++]union联合体总结
特点一:成员公用内存,且按所占内存最大的数据成员分配内存 //举例1 union A{ char a;//1个字节 int b;//4个字节 char c;//1个字节 } cout<<s ...
- Vue+echart 展示后端获取的数据
最近在合作做一个前后端分离项目时,为了测试我写的后端部分获取数据的效果,自己也学了一下 vue 的知识,在获取 json 信息这里也踩了很多坑. 这里列举下我返回的 json 部分信息: { &quo ...
- flutter 2.X报错 Bad state: Insecure HTTP is not allowed by platform:
flutter2.x开发遇到的问题 Bad state: Insecure HTTP is not allowed by platform: 翻译过来就是:错误状态:平台不允许不安全的HTTP: 产生 ...
- angular建立服务打印日志创建全局变量方法有两种,手工创建,依赖注入
- 新版Bing 搜索后台的.NET 技术栈
微软在今天在Redmond 线下举办媒体一场活动,发布了新版的微软必应,在桌面上推出了测试版,移动版也即将推出.微软首席执行官纳德拉称Al-powered搜索为公司自云15年以来最大的事情. 2023 ...
- 12月12日内容总结——Django之数据增删改查、Django请求生命周期流程图、Django路由层(路由匹配、转换器、正则匹配)、反向解析
目录 一.可视化界面之数据增删改查 二.django请求生命周期流程图 三.django路由层 1.路由匹配 2.转换器 3.正则匹配 不同版本的区别 正则匹配斜杠导致的区别 4.正则匹配的无名有名分 ...
- KStudio-Java程序连接KingbaseES数据库异常
错误信息: --KStudio客户端工具错误信息 The conncetion attempt failed.Reason:connect time out --Java应用程序控制台日志 Cause ...
- 基于遗传算法的地图四色原理绘图上色的Python代码
本文介绍利用Python语言,实现基于遗传算法(GA)的地图四色原理着色操作. 1 任务需求 首先,我们来明确一下本文所需实现的需求. 现有一个由多个小图斑组成的矢量图层,如下图所示. ...
- 一个容器,但是一整个k8s集群
你可能需要一个快速启动和销毁的 k8s 集群:你可能在资源受限的环境中运行 k8s 集群:你可能是一个完全的初学者,觉得搭建完整的 k8s 套件太难.那么这篇短文可能可以帮到你. 各种丐版 k8s 集 ...
- 逻辑运算符、成员运算符、身份运算符、流程控制、if判断、while循环
目录 一.逻辑运算符 二.成员运算符 三.身份运算符 四.流程控制 五.分支结构 (1).单if判断 (2).双分支结构 (3).多分支结构 (4).if的嵌套使用 六.循环结构while (1).w ...