shell脚本:创建一个教师用户或学生用户

数据库安全性与完整性控制实验 使用create user创建用户,创建单个用户teacher,创建两个用户teacher1和student。 通过直接操作MySQL用户表创建用户,创建单个用户teacher2,创建两个用户teacher3和student2(请注意,新版的MySQL可能不支持使用此方法创建新用户)。 错误:没有密码这一列由于该版本下没有passw字段,无法实现该语句 新建一个terminal窗口,使用mysql –u –h -p方式登录teacher。 再次新建一个terminal窗口,使用mysql –u –h 阅读详情
#!/bin/bash

#func:add or del user
#author:reed

. /etc/profile

UserCtr=$1
TeacherName=$2
StudentName=$3
StudentNumber=$4

Usage(){
cat<<EOF
--Usage:
        $0 [add/del] [Teacher'sName] [Student'sName] [The number of Students]
        ex.
        $0 add teacher stu 3
--
        add:useradd username
        del:userdel username
        [Teacher'sName]:teacher's name
        [Student'sName]:student's name,just only the beginning of a lowercase letter 
        [The number of Students],only [1-10]
EOF
}

if [ $# -eq 4 ];then
        if [ $1 == "add" ];then
                #echo "add"
                if [[ "$2" =~ ^[a-z]+$  &&  "$3" =~ ^[a-z]+$  && "$4" -ge 1 && "$4" -le 10 ]];then
                        #create user $2
                        id $2 >>/dev/null 2>&1
                        if [ $? -ne 0 ];then
                                useradd $2
                                TeacherPasswd=$(date|md5sum|cut -c 1-6)
                                echo $TeacherPasswd|passwd --stdin $2 >>/dev/null 2>&1
                                echo "User [$2] create successfully."
                                echo "$2:$TeacherPasswd"
                        else
                                echo "The user [$2] is exist."
                        fi
                        for ((num=1;num<=$4;num++));do
                                id ${3}${num} >>/dev/null 2>&1
                                if [ $? -ne 0 ];then
                                        useradd ${3}${num}
                                        StudentPasswd=$(echo $RANDOM|md5sum|cut -c 1-6)
                                        echo $StudentPasswd|passwd --stdin ${3}${num} >>/dev/null 2>&1
                                        echo "User [${3}${num}] create successfully."
                                        echo "${3}${num}:$StudentPasswd"
                                else
                                        echo "The user [${3}${num}] is exist."
                                fi
                        done
                else
                        echo "Parameter error!"
                        exit 10000
                fi
        elif [ $1 == "del" ];then
                echo "Please delete user manually."
        else
                echo "Parameter error!Please input [add] or [del]."
                exit 10086
        fi
else
        Usage
fi

shell脚本100例.docx 文件内容为linux系统下shell脚本的100个实用例子,有助于刚接触linux shell脚本的学生,教师,技术人员进行shell学习 立即下载

相关推荐

Shell程序之学生管理系统

Shell程序之学生管理系统,蛋疼! 博文地址:http://blog.youkuaiyun.com/ljphhj/article/details/17628087

shell脚本实现学生管理系统

简单功能实现,欢迎交流 #!/bin/bash userData=/opt/app/SMS/V_SHELL/DB/user.dat stuData=/opt/app/SMS/V_SHELL/DB/stu.dat logDir=/opt/app/SMS/V_SHELL/LOG theDate=`date '+%Y-%m-%d'` count=0 ######################...

mark_qzh的专栏 4931

避坑指南:STM32CubeMX配置USB虚拟串口时Heap Size设置的那些坑

本文深入剖析了使用STM32CubeMX配置USB虚拟串口时,因Heap Size设置不当导致设备无法识别的常见问题。文章从故障现象出发,详细解释了堆内存不足如何影响USB枚举过程,并提供了从内存布局分析、动态监控到系统化调试的完整解决方案,帮助开发者从根本上避免这一配置陷阱。

ttt77的博客 599

【2】shell脚本基础练习

题目:编写shell程序,实现自动删除30个账号的功能。账号名为stu01至stu30(前提是这30个账号已创建) 代码: #!/bin/bash for ((i=1; i<=30; i++)) do if [ $i -lt 10 ] then userdel -r stu0$i echo "stu0$i is delete" else userdel -r stu$i echo "stu$i is

sabersaberW的博客 734

【信号与系统实战解析】—— 拉普拉斯变换在电路分析中的关键应用

本文深入解析了拉普拉斯变换在电路分析中的关键应用。通过将时域微分方程转换为复频域的代数方程,系统化处理初始条件,并利用零极点图分析电路稳定性与频率响应。文章以RLC串联电路为例,详细演示了s域建模、性质运用及综合分析方法,为工程师提供了分析动态电路的强大工具与清晰视角。

weixin_29093017的博客 174

深入解析MSPM0系列Keil开发中‘ti_msp_dl_config.h‘缺失问题的根源与修复

本文深入解析TI MSPM0系列Keil开发中'ti_msp_dl_config.h'文件缺失问题的根源与修复方法。该错误常见于编译时提示file not found,主要因SysConfig工具未正确生成或工程路径配置错误导致。文章提供了从环境检查、手动生成文件到工程配置调整的系统化解决方案,帮助开发者快速解决这一常见KEIL开发难题。

gold的博客 970

Linux下基于Shell脚本,编写简单的学生成绩管理系统

1. Linux下基于Shell脚本,编写简单的学生成绩管理系统,系统分为教师模块、学生模块。主要功能为教师通过系统添加、修改、删除、查看学生成绩;学生可查看成绩。hostnamectl set-hostname studentName // studentName是自己的名字。

caihaozhe9的博客 1039

NC65增加自定义参照并且参照数据要根据选择的财务组织过滤

1、首先定义一个参照类 package nc.pub.jzcm.ref; import nc.ui.bd.ref.AbstractRefModel; import nc.ui.bd.ref.IRefDocEdit; import nc.ui.bd.ref.IRefMaintenanceHandler; public class PMPrPayDefaultRefModel extends AbstractRefModel { public PMPrPayDefaultRefModel(){ ...

xyl的博客 3494

基于shell脚本开发的学生选课系统

基于shell脚本开发的学生选课系统,使用yad开发可视化,Linux实训,项目开发

IPclass的博客 1903

图文教程本地部署开源扣子Coze Studio工作流并接入 Gemini 大模型(windows亲测) Coze Studio 本地部署、Gemini 模型接入、开源 AI 工具平台、大模型工作流搭建

本文介绍了在Windows系统本地部署开源AI工具平台Coze Studio并接入Google Gemini大模型的完整教程。主要内容包括:1) 环境准备要求(Docker等);2) 获取源码和配置Gemini模型(需API密钥);3) 通过Docker Compose部署服务;4) 浏览器访问验证。文章指出该平台适合私有化部署,支持智能体和工作流搭建,但也存在插件系统不完善等局限。最后提供了相关资源链接,为开发者实现本地AI解决方案提供了实用指南。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 2780

嵌入式内存管理之“LittleFS文件系统”开发(附LittleFS项目源码)

本文介绍了如何在嵌入式系统中实现 LittleFS 文件系统,并结合 Flash 存储进行数据管理。通过详细的代码示例,展示了如何配置、挂载 LittleFS 文件系统,并进行文件操作,如读取、写入和更新数据。特别地,博客通过实际应用演示了如何实现启动计数功能,以及如何处理文件系统的格式化和挂载过程。该示例帮助读者掌握在资源受限的嵌入式环境中实现高效文件存储管理的关键技术。

Bit_Dong的博客 3186

shell之批量创建删除用户和组

小楼是一个系统管理员,需要为一个教室中的服务器添加一个老师和若干学生用户,手动添加太麻烦了,请你为他编写一个bash脚本 userctr.sh 实现批量添加和删除用户。老师用户名,学生用户名和学生数量使用参数进行控制。userctr.sh 脚本执行时候包括四个参数:bash userctr.sh 操作(add或者del)教师名 学生名前缀 学生数量脚本成功执行后将创建1个教师用户和若干个学生用户,满

cxs123678的博客 2195

RT-DETR改进策略【卷积层】| CGblock 内容引导网络 利用不同层次信息,提高多类别分类能力 (含二次创新)

本文记录的是利用中的模块优化的目标检测网络模型。通过局部特征提取器、周围环境提取器、联合特征提取器和全局环境提取器来提取局部特征、周围环境和全局环境信息,充分利用不同层次的信息。本文将其应用到中,并进行二次创新,使网络能够更好的处理多类别目标的分类能力。CGNet: A Light-Weight Context Guided Network for Semantic Segmentation1️⃣ 首先通过局部特征提取器floc(∗)floc(*)floc(∗)和周围环境提取器fsur(∗)f_{sur }

Limiiiing的博客 1350

shell脚本实战之课程管理系统

通过shell脚本实现一个简单的课程管理系统

weixin_46477112的博客 1289

【软件系统架构】系列四:嵌入式软件-NPU(神经网络处理器)系统及模板

NPU(Neural Processing Unit) 是专门用于人工神经网络推理与训练的处理器,具备高并行、低功耗、低延迟等特点。它是边缘 AI、自动驾驶、智能摄像头、语音识别等场景中的关键硬件。

moton2017的博客 2249

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

demo.sh(批量添加及删除老师和学生用户)

#!/bin/bash #func:add or del user #author:reed . /etc/profile UserCtr=$1 TeacherName=$2 StudentName=$3 StudentNumber=$4 Usage(){ cat<<EOF --Usage: $0 [add/del] [Teacher'sName] [Stude...

DEVIL_SCL的博客 418

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

shell——demo添加、删除用户

#!/bin/bash #func:add or del user #author:reed . /etc/profile 可执行文件 UserCtr=$1 参数 TeacherName=$2 StudentName=$3 StudentNumber=$4 #定义函数 提示信息 Usage(){ cat<<EOF重定向 –Usage: $0 [add/de...

ytt999的博客 262

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

linux系统实验shell程序设计,实验三-shell脚本程序设计

《实验三-shell脚本程序设计》由会员分享,可在线阅读,更多相关《实验三-shell脚本程序设计(10页珍藏版)》请在人人文库网上搜索。1、实 验 报 告课程名称 Linux系统实践 实验项目 LINUX SHELL脚本程序设计 实验仪器 PC 系 别 计算机学院 专 业 网络工程 班级/学号 网1702/2017011463 学生姓名 孟启贤 实验日期 4.15 成 绩 指导教师 李艳平 实验...

weixin_29471009的博客 969

SHELL编程练习-批量创建删除用户和组

1.需求 reed是系统管理员,需要为一个教室中的服务器添加一个老师和若干学生用户,手动添加太麻烦了,请你为他编写一个bash脚本 userctr.sh 实现批量添加和删除用户。老师用户名,学生用户名和学生数量使用参数进行控制。 userctr.sh 脚本执行时候包括四个参数: bash userctr.sh 操作(add或者del)教师名 学生名前缀 学生数量 脚本成功执行后将创建1个教师用...

weixin_34187862的博客 697

linux shell脚本编程基础实验,实验三-shell脚本程序设计.pdf

.实 验 报 告课程名称 Linux 系统实践实验项目 LINUX SHELL 脚本程序设计实验仪器 PC系 别 计算机学院...

weixin_35598388的博客 762

Shell脚本操作数据库实战

Shell脚本操作数据库实战导入测试数据载入数据赋予用户数据库权限Shell脚本与MySQL数据库交互mysql命令参数详解:实例利用Shell脚本将文本数据导入到MySQL中二级目录三级目录备份MySQL数据,并通过FTP将其传输到远端主机二级目录三级目录 导入测试数据 测试数据 school.sql --建表 --学生表 CREATE TABLE `student`( `s_id` VARCHAR(20), `s_name` VARCHAR(20) NOT NULL DEFAULT ''

baidu_29244931的博客 1956

计算机脚本程序编写,实验三-shell脚本程序设计.docx

实验报告课程名称 Linux 系统实践实验项目LINUX SHELL脚本程序设计实验仪器PC系别计算机学院专业网络工程班级 / 学号 网 1702/2017011463学生姓名孟启贤实验日期 4.15成 绩指导教师李艳平实验三LINUX SHELL脚本程序设计一、实验目的:通过本实验练习,使学生了解常用 SHELL的编程特点,掌握SHELL程序 设计的基础知识。对SHELL程序流程控制、SHELL...

weixin_29710403的博客 789

shell监听一个端口 - nc

shell监听一个端口 教师机 → 学生机  发送一个指令传向该端口,如何实现? 【发命令】教师机: echo 'echo todosomething' | nc 192.168.2.226 1984 【开监听】学生机:(IP 192.168.2.226 ) nc -l 1984  -k >cmd eval `cat cmd` my_way: 【发命令】教师机:

no pay no gay 1万+
上一篇: shell脚本:打印指定目录下所以.c文件中指定两个字符串出现的行号
下一篇: 嵌入式操作系统基础
闪烁丶星空
博客等级 码龄7年 13粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值