优化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\]]\$ '

最新文章

  1. Oracle重新装机后如何快速还原以前表和用户
  2. Eclipse断点调试
  3. JSP指令
  4. 创建型模式(前引)简单工厂模式Simple Factory
  5. Oracle 物化视图 说明
  6. 【转】GUID学习
  7. 无刷新删除 Ajax,JQuery
  8. 【转】ORACLE日期时间 等函数大全
  9. C蛮的全栈之路-node篇(一) 环境布置
  10. thinking in java知识小记(一)
  11. GridView 导出Excel
  12. JS实现用键盘控制DIV上下左右+放大缩小与变色
  13. 使用WPF创建无边框窗体
  14. Ubuntu部署Jupyter
  15. MySQL如何正确查询字段为NULL的字段
  16. SQL Server(MySql)中的联合主键(联合索引) 索引分析
  17. 一个好玩的小制作,以及在&lt;a/&gt;中的标签href=&quot;javascript:;&quot;/href=&quot;javascript:void(0);&quot;/href=&quot;javascript:&quot;的用法
  18. CSS选择器 + Xpath + 正则表达式整理(有空再整理)
  19. Laya 位图字体制作(失败...)
  20. iOS 数据库sqlite完整增删改查操作

热门文章

  1. Mac上安装brew的那些坑
  2. Entrypoint undefined = index.html html-webpack-plugin 错误ERROR in Error: Child compilation failed: Module build failed (from ./node_modules/html-webpack-plu SyntaxError: Unexpected token )
  3. DML_添加数据-DML_删除数据
  4. HelloWorld程序的代码编写-Hello World的编译运行
  5. 文盘Rust -- rust 连接云上数仓 starwift
  6. 算法学习笔记(17): 快速傅里叶变换(FFT)
  7. Vue 03 VisualStudioCode 搭建一个Vue 框架 的详细流程
  8. CentOS安装mysql、MariaDB以及更改数据库存储路径
  9. C++_bind用法
  10. 为Jekyll静态网站添加PlantUML插件