博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
修改 mysql/oracle/bash/vimrc/cmd 提示符格式与颜色
阅读量:5826 次
发布时间:2019-06-18

本文共 8817 字,大约阅读时间需要 29 分钟。

hot3.png

(1)修改mysql提示符:

MySQL 客户端的默认提示符是 "mysql>",基本上没什么实际作用。其实可以修改这个提示符,让它显示一些有用的信息,例如当前所在的数据库等。修改方法有四种,其中前两种只对当前连接有效,后两种则对所有连接有效。

我的建议:vi /etc/my.cnf

[mysql]prompt=\\u@\\h: \\d \\r:\\m:\\s>

效果:

mysql -uroot -prootWelcome to the MySQL monitor.  Commands end with ; or \g.Your MySQL connection id is 3Server version: 5.5.22-log Source distributionCopyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.root@localhost : (none) 07:15:23>use mysqlDatabase changedroot@localhost : mysql 07:15:30>root@localhost : mysql 07:16:52>

 1、连接客户端时通过参数指定。

mysql --prompt="(\u@\h) [\d]> "  

 这样提示符就会变成 (user@host) [database]>

还有更多可以可以参考官方文档 

 2、连接上客户端后,通过 prompt 命令修改。

prompt (\u@\h) [\d]>  

 3、在 MySQL 的配置文件中配置。

[mysql]  

prompt=(\\u@\\h) [\\d]>\\_  

 4、通过环境变量配置。

export MYSQL_PS1="(\u@\h) [\d]> "  

  其中\h表示主机而\d表示数据库,更多设置如下(以下摘自MySQL手册) 

 \v  服务器版本 

\d  当前的数据库 

\h  服务器主机 

\p  当前的TCP/IP端口或套接字文件 

\u  你的用户名 

\U  你的全user_name@host_name账户名 

\\  ‘\’反斜线字符 

\n  新行字符 

\t  Tab字符 

\   空格(反斜线后面的空格) 

\_  空格 

\R  当前的时间,24-小时军用时间(0-23) 

\r  当前的时间,标准12-小时(1-12) 

\m  当前时间的分钟 

\y  当前的年,两位 

\Y  当前的年,四位 

\D  当前的日期 

\s  当前时间的秒 

\w  当前周的天,3字符格式(Mon,T ,...) 

\P  am/pm 

\o  当前的月,数字格式 

\O  当前的月,3字符格式(Jan,Feb,...) 

\c  随发出的每个语句递增的计数 

\S  分号 

\'  单引号 

\"  双引号

以上内容在window及linux环境下测试通过,请放心使用。

REF:

(2)oracle提示符修改:

修改 C:\oracle\product\11.2.0\dbhome\sqlplus\admin\glogin.sql

SET SQLPROMPT "_USER'@'_CONNECT_IDENTIFIER> " set serveroutput on--显示当前时间set time on --显示语句执行时间set timing on  --DEFINE _EDITOR=vimset linesize 140

效果:

21:36:57 SCOTT@orcl> select * from test1 minus select * from test2;        ID NAME---------- ----------        11 dongruan       111    yg

REF:

(3)修改 linux bash shell vimrc 提示符:

请参考:

ip2=`ip a 2>/dev/null|grep 'eth0$'|grep -Po '(\d{1,3}.\d{1,3})(?=/)'`

ip2=`ip a 2>/dev/null|grep 'eth0$'|grep -Po '((\d{1,3}.){3}\d{1,3})(?=/)'`
alias june='eval "PS1=\"\[\e[36;1m\]\u\[\e[0m\]@\[\e[33;1m\]\h\[\e[40;35;9m $ip2 \e[0m\]\e[40;34;1m\t \e[0m\[\e[31;1m\]\w \[\e[0m\]>\n\""'

  

vimrc 配置范例:

man page 颜色范例:

(1)配色 1:

export LESS_TERMCAP_mb=$'\e[01;31m'export LESS_TERMCAP_md=$'\e[01;35m'export LESS_TERMCAP_me=$'\e[0m'export LESS_TERMCAP_se=$'\e[0m'export LESS_TERMCAP_so=$'\e[01;33m'export LESS_TERMCAP_ue=$'\e[0m'export LESS_TERMCAP_us=$'\e[04;36m'

(2)配色 2:

export LESS_TERMCAP_mb=$'\E[01;31m'export LESS_TERMCAP_md=$'\E[01;31m'export LESS_TERMCAP_me=$'\E[0m'export LESS_TERMCAP_se=$'\E[0m'export LESS_TERMCAP_so=$'\E[01;44;33m'export LESS_TERMCAP_ue=$'\E[0m'export LESS_TERMCAP_us=$'\E[01;32m'

.bashrc 完整范例:

# .bashrc# User specific aliases and functionsalias rm='rm -i'alias cp='cp -i'alias mv='mv -i'# Source global definitionsif [ -f /etc/bashrc ]; then        . /etc/bashrcfiexport LESS_TERMCAP_mb=$'\E[01;31m'export LESS_TERMCAP_md=$'\E[01;31m'export LESS_TERMCAP_me=$'\E[0m'export LESS_TERMCAP_se=$'\E[0m'export LESS_TERMCAP_so=$'\E[01;44;33m'export LESS_TERMCAP_ue=$'\E[0m'export LESS_TERMCAP_us=$'\E[01;32m'export HISTSIZE=5000export HISTTIMEFORMAT='[%F %T] 'shopt -s histappendexport PROMPT_COMMAND=export EDITOR=vimexport LANG=zh_CN.utf8export PATH=$PATH:.:/opt/soft/python-2.7.11/binIP=`/sbin/ip a 2>/dev/null|grep -iE '(em1|eth0)$'|grep -Po '((\d{1,3}.){3}\d{1,3})(?=/)'`#HOST_NAME=dop_online${IP##*.}. .hostname#alias june='eval "PS1=\"\[\e[36;1m\]\u\[\e[0m\]@\[\e[33;1m\]\h\[\e[40;35;9m $ip \e[0m\]\e[40;34;1m\t \e[0m\[\e[31;1m\]\w \[\e[0m\]>\n\""'#export PS1='[\u@\h \W]\$'export PS1="\[\e[36;1m\]\u\[\e[0m\]@\[\e[33;1m\]$HOST_NAME\[\e[40;35;9m $IP \e[0m\]\e[40;34;1m\t \e[0m\[\e[31;1m\]\w \[\e[0m\]>\n"alias rp='realpath'alias grep='grep --color'alias ls='ls --color=tty'alias vi='vim'alias cmd='cd /opt/script/rpcMonitor && python exec_cmd.py'alias lh='ls -ld `pwd`/.[^.]*'#export KRB5CCNAME=/tmp/krb5cc_pub_$$#trap kdestroy 0 1 2 3 5 15kinit -k -t /etc/krb5.keytabmyScp(){    [[ $1 == "" ]] || [[ $2 == "" ]] && echo "请输入源文件与目标文件路径,如:myScp ~/a.txt /work" && return    for ip in `cat ~/.ip_list`    do        echo -e "\n\n==========>>>>>>>>>>>>$ip:"        rsync -avz $1 work@$ip:$2    done}#baseDir=/root/tmp#cd $baseDir#userDir=`echo $SSH_CLIENT|awk '{print $1}'`changeDir(){    echo "--------------------------------------------------------------------"    echo -e "\e[41;37;1m 欢迎登录,系统使用注意事项如下:  \e[0m"     echo -e "\e[41;37;1m 1、第一次登录请在 /home/work 下新建自己名字的目录(比如 mkdir -p ~/your_name ),私人文件请都放在自己的目录下。\e[0m"     echo -e "\e[41;37;1m 2、应用、服务请部署到 /opt 下对应的目录,比如 web soft script log 等等。\e[0m"     echo -e "\e[41;37;1m 3、由于一台机器会多人使用,请勿随意放置文件、安装程序,有需要请联系 your_name 统一规划。\e[0m"     echo "--------------------------------------------------------------------"}[[ $- == *i* ]] && changeDir

(4)修改 windows cmd 提示符:

新建 prompt 环境变量,具体含义 help prompt

具体效果步骤请参考:

(5)bash color 详解

Escape sequences

You’ve probably seen things like \e[32m or \x1b[1;31m. These are  used for defining a color. All ANSI escape sequences start with, well, ESC. There’re several ways of encoding an ESC:

Shell \e
ASCII Hex \0x1B
ASCII Oct \033

So \x1b[31;4m\e[31;4m and \033[31;4m are different ways to write the same sequence. Let’s look at the structure of this sequence.

\x1b[ is a Control Sequence Introducer that consists of hexadecimal ASCII ESC character code and a [.

31;4 is a list of instructions separated by ;. Usually this list is formatted as follows:

[
];[
];[
]

For example 31;4 means “no prefix, color - red, underline”. <PREFIX> is used for 256 color mode. More on color modes later.

Finally m indicates the end of control sequence so terminal would know not to interpret text after mas a color code.

The following command should print “hello” in red underscore text:

> echo "\x1b[31;4mHello\x1b[0m"

\x1b[0m means “reset all attributes”.

declare -A colors#curl www.bunlongheng.com/code/colors.png# Resetcolors[Color_Off]='\033[0m'       # Text Reset# Regular Colorscolors[Black]='\033[0;30m'        # Blackcolors[Red]='\033[0;31m'          # Redcolors[Green]='\033[0;32m'        # Greencolors[Yellow]='\033[0;33m'       # Yellowcolors[Blue]='\033[0;34m'         # Bluecolors[Purple]='\033[0;35m'       # Purplecolors[Cyan]='\033[0;36m'         # Cyancolors[White]='\033[0;37m'        # White# Boldcolors[BBlack]='\033[1;30m'       # Blackcolors[BRed]='\033[1;31m'         # Redcolors[BGreen]='\033[1;32m'       # Greencolors[BYellow]='\033[1;33m'      # Yellowcolors[BBlue]='\033[1;34m'        # Bluecolors[BPurple]='\033[1;35m'      # Purplecolors[BCyan]='\033[1;36m'        # Cyancolors[BWhite]='\033[1;37m'       # White# Underlinecolors[UBlack]='\033[4;30m'       # Blackcolors[URed]='\033[4;31m'         # Redcolors[UGreen]='\033[4;32m'       # Greencolors[UYellow]='\033[4;33m'      # Yellowcolors[UBlue]='\033[4;34m'        # Bluecolors[UPurple]='\033[4;35m'      # Purplecolors[UCyan]='\033[4;36m'        # Cyancolors[UWhite]='\033[4;37m'       # White# Backgroundcolors[On_Black]='\033[40m'       # Blackcolors[On_Red]='\033[41m'         # Redcolors[On_Green]='\033[42m'       # Greencolors[On_Yellow]='\033[43m'      # Yellowcolors[On_Blue]='\033[44m'        # Bluecolors[On_Purple]='\033[45m'      # Purplecolors[On_Cyan]='\033[46m'        # Cyancolors[On_White]='\033[47m'       # White# High Intensitycolors[IBlack]='\033[0;90m'       # Blackcolors[IRed]='\033[0;91m'         # Redcolors[IGreen]='\033[0;92m'       # Greencolors[IYellow]='\033[0;93m'      # Yellowcolors[IBlue]='\033[0;94m'        # Bluecolors[IPurple]='\033[0;95m'      # Purplecolors[ICyan]='\033[0;96m'        # Cyancolors[IWhite]='\033[0;97m'       # White# Bold High Intensitycolors[BIBlack]='\033[1;90m'      # Blackcolors[BIRed]='\033[1;91m'        # Redcolors[BIGreen]='\033[1;92m'      # Greencolors[BIYellow]='\033[1;93m'     # Yellowcolors[BIBlue]='\033[1;94m'       # Bluecolors[BIPurple]='\033[1;95m'     # Purplecolors[BICyan]='\033[1;96m'       # Cyancolors[BIWhite]='\033[1;97m'      # White# High Intensity backgroundscolors[On_IBlack]='\033[0;100m'   # Blackcolors[On_IRed]='\033[0;101m'     # Redcolors[On_IGreen]='\033[0;102m'   # Greencolors[On_IYellow]='\033[0;103m'  # Yellowcolors[On_IBlue]='\033[0;104m'    # Bluecolors[On_IPurple]='\033[0;105m'  # Purplecolors[On_ICyan]='\033[0;106m'    # Cyancolors[On_IWhite]='\033[0;107m'   # Whitecolor=${colors[$input_color]}white=${colors[White]}# echo $whitefor i in "${!colors[@]}"do  echo -e "$i = ${colors[$i]}I love you$white"done

——END——

Refer:

[1] 小应用之:shell 日志工具 logdotsh 

[2] xterm-256color 终端的 256 色模式

[3] Tutorial: How to Color Man Pages & How It Works

[4] 彩色的命令行 —— 使用 ANSI 色彩代码

[5] How to change the output color of echo in Linux

[6] Bash tips: Colors and formatting (ANSI/VT100 Control sequences)

[7] Colors In Terminal

转载于:https://my.oschina.net/leejun2005/blog/77499

你可能感兴趣的文章
浮点数内存如何存储的
查看>>
贪吃蛇
查看>>
EventSystem
查看>>
用WINSOCK API实现同步非阻塞方式的网络通讯
查看>>
玩一玩博客,嘿嘿
查看>>
P1352 没有上司的舞会
查看>>
ios11文件夹
查看>>
【HLOJ 559】好朋友的题
查看>>
Electric Fence(皮克定理)
查看>>
nvl 在mysql中如何处理
查看>>
MyEclipse 快捷键
查看>>
快速傅里叶变换FFT
查看>>
大数据常用基本算法
查看>>
JavaScript学习笔记(十三)——生成器(generator)
查看>>
hibernate保存失败
查看>>
MySQL增量订阅&消费组件Canal POC
查看>>
Sqlite多线程
查看>>
数据结构-时间复杂度
查看>>
对象与字符串相互转换
查看>>
[NOIp2017提高组]小凯的疑惑
查看>>