mysql --prompt

时间:2024-12-03 18:36:56

mysql --prompt修改命令行链接mysql时的提示符,shell脚本示例如下

#!/bin/bash

case $ in
crm) cmd='mysql -h192.168.1.2 -uroot -proot -P3306 -Dcrm'
;;
*)
echo "数据库变量不存在:$1 仅支持输入 crm"
exit
;;
esac
shift
$cmd --prompt="[\u@\h:\p(\d) \R:\m:\s] mysql>" --default-character-set=utf8 -A "$@"

在命令行输入 db crm 执行效果如下

liuzhao ~ $ db crm
Warning: Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 54706839
Server version: 5.5.40-36.1-log Percona Server (GPL), Release 36.1, Revision 707 Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. [root@192.168.1.2:3306(crm) 16:59:15] mysql>

--prompt选项列表,示例脚本中用到的选项已经标红

\c A counter that increments for each statement you issue
\D 当前日期
\d 当前数据库
\h 数据库主机
\l The current delimiter (new in 5.1.12)
\m 当前时间(分)
\n A newline character
\O The current month in three-letter format (Jan, Feb, …)
\o The current month in numeric format
\P am/pm
\p The current TCP/IP port or socket file 端口号
\R  当前时间(小时)(0–23)
\r 当前时间(小时)(1–12)
\S Semicolon
\s 当前时间(秒)
\t A tab character
\U

Your full user_name@host_name account name

\u 数据库用户名
\v The server version
\w The current day of the week in three-letter format (Mon, Tue, …)
\Y The current year, four digits
\y The current year, two digits
\_ A space
A space (a space follows the backslash)
\' Single quote
\" Double quote
\\ A literal “\” backslash character
\x

x, for any “x” not listed above