shell循环和函数引用
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,#!/bin/bash#菜单function menu(){echo -e "\t\t\t************************"echo -e "\t\t\t* 操作数据库
千家信息网最后更新 2026年11月03日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安全错误
数据库的锁怎样保障安全
互联网科技股
互联网科技会
互联网科技公司发展
喔噻互联网科技
有木互联网科技
火传媒上海互联网科技
深圳艾佳互联网科技
天扬科技互联网广告
互联网系的金融科技公司
互联网金融中的现代科技
搜狐科技互联网
西安小鹰速贷互联网科技有限公司
互联网科技公司营业执照怎么办理
华中科技大学互联网的牛人
互联网时代的科技公司
小米互联网科技园入驻
全球科技与互联网公司市值变化
科技互联网行业投资研究
万物互联网智能科技
数字科技和互联网金融哪个好
手冲咖啡和咖啡机区别
互联网科技公司名称
互联网 科技服务平台
安控科技rtu产品工业互联网
温州喔噻互联网科技有限公司
广州慧亚互联网科技怎么样
互联网时代高科技布局
科技和互联网行业的特点
前海云享互联网科技
株洲百竞科技的互联网营销顾问