shell循环和函数引用
发表于:2025-11-10 作者:千家信息网编辑
千家信息网最后更新 2025年11月10日,#!/bin/bash#菜单function menu(){echo -e "\t\t\t************************"echo -e "\t\t\t* 操作数据库
千家信息网最后更新 2025年11月10日shell循环和函数引用
#!/bin/bash#菜单function menu(){echo -e "\t\t\t************************"echo -e "\t\t\t* 操作数据库 *"echo -e "\t\t\t************************"echo -e "\t\t\t* 1、登录数据库 *" echo -e "\t\t\t* 2、创建用户或增加权限*"echo -e "\t\t\t* 3、sql语句操作数据库 *"echo -e "\t\t\t* 4、更改用户密码 *"echo -e "\t\t\t* 0、退出 *"echo -e "\t\t\t************************"}#输入mysql的用户名和密码function input(){echo -e "\t\t\t请登录数据库"read -p "请输入mysql用户名:" userread -s -p "请输入mysql的密码:" passwd}#判断输入的用户名密码是否正确function panduan(){mysql -u$user -p$passwd -e exit 1>/dev/null 2>&1if [ $?!= 0 ]thenecho -e "\n\t\t\t用户名或密码错误,请重新输入!"inputelseecho -e "\n\t\t\t数据库登录成功!"fi}#创建用户并授权function createuser(){echo -e "已存在的用户如下,如果输入的用户已存在,则增加该用户到权限"mysql -u$user -p$passwd -e "select user,host from mysql.user;"read -p "请输入要创建的用户名:" newuserread -s -p "请输入新用户的密码:" newpasswdecho -e "请输入此用户的主机名(%代表所有的主机都能用此账户访问数据库,具体到某几个主机名中间用英文的逗号隔开,如localhost,192.168.1.1):"read hostnameecho -e "请输入授予此用户操作数据库的权限(all代表全部,具体到某几个权限中间用英文的逗号隔开,如create,select):" read grantecho -e "请输入授予此用户的访问的库和表的权限(*.*代表全部的库和表,具体到某几个库中间用英文的逗号隔开,如database1.table1,database2.table2):"read databasemysql -u$user -p$passwd -e "grant $grant on $database to '$newuser'@'$hostname' identified by '$newpasswd';" 2>/tmp/error.txtif [ -s /tmp/error.txt ]thenecho -e "\t\t数据库的权限或库名、表名输入错误!"elseecho -e "\n\t\t\t用户创建成功!"fi}#命令行操作数据库function orders(){while truedoecho -e "\n"echo -e "请输入mysql语句:"read ordermysql -u$user -p$passwd -e "$order" 2>/dev/nullif [ $?!=0 ]thenecho -e "\t\t\tsql语句输入错误!"fidone}#修改密码function change(){echo -e "数据库中已存在的用户如下:"tuser=`mysql -u$user -p$passwd -e "select distinct User from mysql.user;"|awk '{print $1}'|sed -n '2,$p'`echo $tuserwhile truedoecho -e "请输入要修改的用户名:"read cuserecho -e "请输入新密码"read -s cpasswdecho -e "请再次输入新密码"read -s zpasswdecho $tuser|grep $cuser>/tmp/tuser.txtif [ "$cpasswd" = ""$zpasswd"" -a -s /tmp/tuser.txt ]thenmysql -u$user -p$passwd </tmp/mysql.txtif [ -s /tmp/mysql.txt ]thenecho -e "\n\t\t\t用户名或密码错误,请重新输入!"elsebreakfidone;;2)inputpanduancreateuser;;3)inputorders;;4)inputpanduanchange;;0)exit 0;;*)echo -e "\t\t\t请输入有效数字!";;esacdone
用户
输入
数据
数据库
密码
用户名
权限
错误
主机
代表
语句
逗号
英文
登录
成功
新密
有效
再次
命令
数字
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
落实网络安全责任制度
云南企力互联网科技有限公司
商品网站数据库模型
便利店科技互联网
人口健康数据库
嘉定区教学视频系统服务器
上海大学数据库研讨
国土资源部关于基本农田数据库
兰州石化网络技术211班
软件开发部年度目标
网络安全研究学院
戴尔服务器r710磁盘管理
国内哪个数据库比较好
点歌机服务器为什么用6个盘
gis软件开发 教学内容
软件开发的基本策略
手机网络怎么更换服务器
xx中学网络安全方案计划
无锡悦睿软件开发有限公司
数据库操作log写入失败
电脑如何将文件传给云服务器
日娃 网络安全sunswear
极进网络技术
计算机网络技术专升本山东
软件开发些啥语言
软件开发个人奖项设置
数据库中主要的关系运算有
浦东新区市场软件开发服务报价表
安阳数据库安全审计
网络安全标语50字