shell编程用户信息管理(模拟)课程设计说明书


    
    数学计算机学院

    Linux操作系统
    课程设计说明书


    题 目: shell编程户信息理(模拟)
    专 业:
    班 级:
    学 号:
    姓 名:
    指导老师:

    2012年 X  月  X 日




    课程设计目
    掌握linux操作系统中shell脚编程技术中:变量定义变量循环控制结构条件选择结构户交互文件读写文容分析linux重命令等验证学生shell脚编程掌握情况求学生够利shell脚编程实现较基功
    Linux作户务操作系统系统资源户享户理操作系统重点LINUX课程设计shell编程实现理学付诸实践设计脚(shell)程序实现增加删查找显示特定户信息功
    二课程设计容
    Shell脚文件里(必须 menu 命名)操作选项菜单便户中选择务中操作动实现功:
    1) 屏幕显示前户记录
    2) 屏幕显示前户(格式化排序)记录
    3) 屏幕显示户名户ID
    4) 屏幕显示(格式化排序)户名户ID
    5) 查询显示特定户记录
    6) passwd文件里增加新户记录
    7) passwd文件里删某户记录
    目录四文件分menupasswdadddelete中 menu文件中程序完成12345功外写add脚文件delete脚文件分实现选项67户做选择选操作完成次显示菜单供户做步选择while循环case条件语句配合完成操作
    三课程设计基原理功
    1功图

    显示前户记录
    显示前户格式化记录

    显示户名户ID
    显示格式化户名户ID
    查找指定户信息
    添加户信息
    删户信息
    户信息菜单

    2流程图
    221菜单

    222 add模块


    223 delete模块

    四设计步骤
    1编写menuadddeleteshell脚passwd文件
    (menu add delete 文件网载改动少许符合设计求)
    2目录添加四文件分menushpasswdaddshdeletesh090510221空文件夹作新建户目录
    直接whpuser新建指令添加:
    vi menush
    vi addsh
    vi deletesh
    vi passwd
    3执行menush脚
    增加权限
    chmod +x menush
    menush
    执行效果截图:

    4输入错误截图:

    5选择菜单1时显示结果图示:

    6选择菜单2时显示结果图示:
    7选择菜单3时显示结果图示:

    8选择菜单4时显示结果图示:

    9选择菜单5输入需查询户名时显示结果图示:

    10选择菜单6显示结果图示:

    完成添加户调菜单2够新添加户mycount信息条目

    11选择菜单7通户ID删户显示结果图示:

    完成删户调菜单2够新添加户mycount信息条目

    五源代码
    1menu脚框架
    # binbash
    #声明全局变量
    dataSource'passwd'
    homePath''
    addUsersaddsh
    deleteUsersdeletesh
    CheckDataSourceFileExist()
    {
    if [ f dataSource ]
    then
    #文件存
    return 0
    else
    #文件存
    clear
    echo n 警告 dataSource 存请确认
    read
    return 1
    fi
    }
    choiceF
    while [ choice Q a choice q ]
    do
    CheckDataSourceFileExist
    if [ ne 1 ]
    then
    clear
    echo 户信息理菜单
    echo
    echo 1显示前记录
    echo 2格式化显示前记录
    echo 3显示户名户ID
    echo 4格式化显示户名ID
    echo 5查询特定户信息
    echo 6添加新户
    echo 7删户
    echo Q退出
    echo n 选择
    read choice
    #作清readstringEmpty时候引发bash参数错误
    if [ z choice ]
    then
    choiceempty
    fi
    clear
    if [ choice empty ]
    then
    echo 选项尚未选择
    else
    case choice in
    1) CheckDataSourceFileExist
    if [ ne 1 ]
    then
    echo 前户信息示
    echo 户名 密码 ID GID 说明 工作目录 登录Shell
    cat dataSource | tr | more
    fi
    2) CheckDataSourceFileExist
    if [ ne 1 ]
    then
    echo 前户信息示
    echo e 户名\t密码\tID\tGID\t说明\t工作目录\t登录Shell
    sort k 1 dataSource | awk F '{print 1 \t 2 \t 3 \t 4 \t 5 \t 6 \t 7 \t}' | more
    fi
    3) CheckDataSourceFileExist
    if [ ne 1 ]
    then
    echo 前户户名户ID示
    echo e 户名ID
    awk F '{print 1 3}' dataSource | more
    fi
    4) CheckDataSourceFileExist
    if [ ne 1 ]
    then
    echo 前户户名户ID示
    echo e 户名 \t ID
    awk F '{print 1 \t 3}' dataSource | more
    fi
    5) CheckDataSourceFileExist
    if [ ne 1 ]
    then
    keyWords
    while [ z keyWords ]
    do
    echo n 输入搜索关键词
    read keyWords
    if [ z keyWords ]
    then
    echo 搜索关键词空请重新输入
    fi
    done
    CheckDataSourceFileExist
    if [ ne 1 ]
    then
    grep i keyWords dataSource
    if [ eq 1 ]
    then
    echo 遗憾dataSource文件中存 keyWords 致信息
    fi
    fi
    fi
    6) addUsers
    7) deleteUsers
    Q) printf 程序已退出
    q) printf 程序已退出
    *) echo choice :选项默认提供功请确认
    esac
    fi
    echo n 确认??
    read
    fi
    done
    2add脚编
    该脚实现户交互式添加户信息包括需添加户:户名户密码户ID组ID全名户家目录登录shell类型项信息需进行单独读取必验证
    clear
    isContinuey
    userName
    while [ isContinue y o isContinue Y ]
    do
    #户名处理输入致字符串长度0止
    userName
    while [ z userName ]
    do
    echo n 户名
    read userName
    if [ z userName ]
    then
    echo 错误户名空请重新输入
    continue
    fi
    if [ `expr match userName [azAZ][09azAZ]*` ne `expr length userName` ]
    then
    echo 错误户名非数字头字符数字组成请重新输入
    userName
    continue
    fi
    done
    #密码处理:1验空3密码长度6位写字母数字控制字符组成2验两次输入致性
    passWord
    passWordAgain
    while [ z passWord ]
    do
    echo n 密码
    read passWord
    if [ z passWord ]
    then
    echo 错误密码空请重新输入
    continue
    fi
    if [ `expr length passWord` ne 6 ]
    then
    echo 密码长度6位请重新输入
    passWord
    continue
    fi
    if [ `expr match passWord [09azAZ]*` ne `expr length passWord` ]
    then
    echo 密码写字母数字控制字符组成请重新输入
    passWord
    continue
    fi
    echo n 请输入次密码:
    read passWordAgain
    if [ passWordAgain passWord ]
    then
    echo 两次输入密码样请重新输入
    passWord
    continue
    fi
    done
    #户UID输入处理UID数字般非超级户ID等500
    uID
    while [ z uID ]
    do
    echo n 户UID
    read uID
    if [ z uID ]
    then
    echo 错误户UID空请重新输入
    continue
    fi
    if [ `expr match uID [09]*` ne `expr length uID` ]
    then
    echo 错误户UID必须数字请重新输入
    uID
    continue
    fi
    if [ uID lt 500 o uID gt 60000 ]
    then
    echo 错误般非超级户ID范围500~60000请重新输入
    uID
    continue
    fi
    done
    #户组GID处理
    gID
    while [ z gID ]
    do
    echo n 户组GID
    read gID
    if [ z gID ]
    then
    echo 错误户GID空请重新输入
    continue
    fi
    if [ `expr match gID [09]*` ne `expr length gID` ]
    then
    echo 错误户GID必须数字请重新输入
    gID
    continue
    fi
    if [ gID lt 500 o gID gt 60000 ]
    then
    echo 错误户组ID范围500~60000请重新输入
    gID
    continue
    fi
    done
    echo n 说明read note
    #bashshcshksh
    shellVersion
    while [ z shellVersion ]
    do
    echo n 登录SHELL(bashshcshksh)
    read shellVersion
    if [ shellVersion bash a shellVersion sh a shellVersion csh a shellVersion ksh ]
    then
    echo 输入Shell类型shellVersion系统支持范围请重新输入
    shellVersion
    fi
    done
    echo n 户工作目录
    mkdir homeuserName
    if [ eq 0 ]
    then
    echo userName 成功创建
    fi
    userInfouserNamepassWorduIDgIDnoteuserNameshellVersion
    echo userInfo >> dataSource
    if [ eq 0 ]
    then
    echo userName户信息添加成功
    else
    echo userName户信息添加失败
    fi
    echo n 否继续添加户??(yn)
    read isContinue
    done
    3delete脚
    delete脚通户ID找passwd文件中应户ID记录删时考虑户误操作真正删户信息前进行户确认果户确认删户信息记录passwd中删需时文件进行辅助删效果保存该时文件中户确认删时文件容写入passwd文件否者保持passwd容变
    clear
    isContinuey
    userName
    while [ isContinue y o isContinue Y ]
    do
    while [ isContinue y o isContinue Y ]
    do
    echo n 输入户ID
    read userID
    if [ z userID ]
    then
    echo 户ID空请重新输入
    isContinueY
    continue
    fi
    CheckDataSourceFileExist
    if [ ne 1 ]
    then
    deleteUser(awk F '1 'userName' { print 0 }' dataSource)
    if [ deleteUser ]
    then
    echo 户信息: deleteUser
    echo n 否删?(yn)
    read isContinue
    if [ z isContinue ]
    then
    isContinueN
    fi
    if [ isContinue y o isContinue Y ]
    then
    CheckDataSourceFileExist
    if [ ne 1 ]
    then
    rowID(grep n deleteUser dataSource | awk F '{print 1}')
    sed e rowID d dataSource > tempFile
    cat tempFile > dataSource
    rm tempFile
    fi
    if [ eq 0 ]
    then
    echo 记录删
    else
    echo 系统错误删失败
    fi
    isContinueN
    fi
    else
    echo 输入 userID 户存
    isContinueN
    fi
    fi
    done
    if [ n userName ]
    then
    echo n 否继续删户??(yn)
    read isContinue
    if [ z isContinue ]
    then
    isContinueN
    fi
    fi
    done
    4passwd原始脚
    090510221x10001000somethinghome090510221binbash
    maozongliangx10011001somethinghomemaozongliangbinbash

    六 课程设计心体会
    课设开始时课程设计务说明书然选择第题目说第较简单Linux会仔细说明书第题目感觉果JavaC++写写代码 ubuntu中Shell命令写感觉手百度希百度找代码步骤完全没找
    开始课设搜索没找实验室里做知道手参加培训时间短心里焦急询问学做题目找会做等做完教心里稍安感觉光等教做干事学教轻松做第二题目务书开始第二题目发现提示非常详细样起做第二题目样做程中学基础知识事实做第二题目程中学关Linux基础知识然步骤指导书步步学会Linux操作系统中基命令熟悉ubuntu操作系统文件系统细节

    周终等学援助面前演示遍交周基础知识铺垫步骤记住晚重做遍然问题流程知道第二天做遍代码更改然代码网载通修改懂shell编程知识发现C语言编程语言通处修改代码提供方便帮助两学教流程感觉第题目真第二简单然花天时间整理实报告
    通次课设学会Shell命令方法熟悉ubuntu操作系统操作环境解Shell编程基特点等等感觉周学东西前月基完成课设务达课设目
    七参考资料
    [1] ubuntu Shell编程基础 Ubuntu wiki站
    [2] ubuntu Bind9安装设置指南 Ubuntu wiki站
    [3] W3cschool PHP 教程 W3C
    [4] LinuxShell语言编程百度文库 刘桂海
    [5] 吴恒奎Linux 指令速查手册 民邮电出版社 2007年12月
    武汉工业学院课程设计

    文档香网(httpswwwxiangdangnet)户传

    《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
    该内容是文档的文本内容,更好的格式请下载文档

    下载文档到电脑,查找使用更方便

    文档的实际排版效果,会与网站的显示效果略有不同!!

    需要 2 香币 [ 分享文档获得香币 ]

    下载文档

    相关文档

    linux编程SHELL编程实验报告

    Linux编程课程设计报告题 目: Linux Shell编程 专 业 学 号 姓 名 ...

    2年前   
    664    0

    编程模拟练习

    模拟练习 一、选择题  1、传输用的基带信号主要要求: A、原始消息代码必须编成适合于传输用的码型;  B、电波形应适合于基带系统的传输。 C、设备简单可靠。 D、A和B答案...

    10年前   
    7863    0

    用户需求说明书

       用户需求说明书 来自:http://www.chinaspis.com 作者:林锐 电子工业出版社出版发行 { 项目名称 } 用户需求说明书 文件状态: [√] 草...

    14年前   
    17209    0

    信息管理职位说明书

    职 位 信息管理 编 号 页 码 第 页,共2页 隶 属 部 门 发展部 版本(次) 2003版(第1稿) 岗 位 概 述 负责公司管理信息系统软、硬件...

    15年前   
    20366    0

    操作系统课程设计编程序模拟银行家算法

    课程设计报告书 课程名称: 操作系统原理 题 目: 编程序模拟银行家算法 系 名: 信息工程系 专业班级: ...

    3年前   
    745    0

    强人的SHELL面试

    强人的SHELL面试  发信人: scort (拉丁新手,直立行走的那只……),     偶的面试历程如下:  5月22日晚23:50提交简历(周六)  5月24日早收到电话面试通知,约好后天...

    9年前   
    484    0

    shell电话面试

    shell电话面试  发信人: bunnirabbit (兔子),   一个很nice的hrjj打的电话,比较准时,只迟了2分钟。先很礼貌地做了自我介绍,然后请我介绍自己。因为早就准备好了英文...

    11年前   
    545    0

    MES系统用户操作说明书

    案卷号 JYWL-CZSM 日期 2011-8-31 编写人 舟山海霖密封件有限公司 制造执行系统(MES)用户操作说明书 ...

    5年前   
    1932    0

    信息管理职位说明书1

    职 位 信息管理 编 号 页 码 第 页,共2页 隶 属 部 门 发展部 版本(次) 2003版(第1稿) 岗 位 概 述 负责公司管理信息系统软、硬件...

    10年前   
    14538    0

    用户合同、档案及信息管理制度

    用户合同、档案及信息管理制度  第一条 为了规范合同的签订和管理,维护公司及用户合法权益,保障用户资料及档案信息的安全,制定本制度。  第二条 本制度适用于天然气安装合同、供气合同及大型用户的...

    11年前   
    516    0

    夹具课程设计说明书课程设计

     课程设计说明书 课 程 名 称 机械制造装配设计 设 计 课 程 钻床夹具设计 ...

    5年前   
    1977    0

    人口信息管理系统说明书软件开发综合训练课程设计

    *******************实践教学******************* 兰州理工大学计算机与通信学院2012年春季学期软件开发综合训练课程设计题 目: 人口信息管理...

    1年前   
    306    0

    液压课程设计说明书

    液压课程设计说明书目录一.液压传动课程设计的目的及设计原始数据……………………………2二.工况分析…………………………………………………………………3三.拟定液压系统原理图…………………………...

    3年前   
    757    0

    端盖课程设计说明书

    端盖课程设计说明书一、设计任务根据所给的“端盖”零件,设计加工工艺规程。二、原始资料被加工“端盖”零件图1张 图1:端盖零件简图三、完成材料(1)被加工工件的零件图(AutoCA...

    1年前   
    367    0

    课程设计说明书书写格式

    课程设计说明书书写格式《模拟电子技术》课程设计说明书书写格式 模拟电子技术》为了保证课程设计文档的质量,做到说明书格式的规范化,特作如下规定: 一,内容要求及格式 课程设计说明书应用汉语(简体...

    11年前   
    728    0

    采矿学课程设计说明书

    《采矿学》课程设计说明书 (准备方式:采区布置 煤层倾角:16°生产能力:150万t /a)班级:采矿班姓名: 学号: 班级序号: 指导老师: 完成时间:2010年X月X日目 ...

    3年前   
    729    0

    供热工程课程设计说明书

    供热工程课程设计说明书课程名称: 设计题目: 院 系: 班 ...

    2年前   
    546    0

    差速器课程设计说明书

    差速器课程设计说明书摘 要本次设计主要是对安装在驱动桥的两个半轴之间的差速器进行设计,主要涉及到了差速器非标准零件如齿轮结构和标准零件的设计计算,同时也对整车的参数、结构做了简单的选择计算。...

    1年前   
    431    0

    推动架课程设计说明书

    《机械制造技术》课程设计说明书班 级:机械制造 姓 名:学 号:日 期:2010 扬州工业职业技术学院目录1、 课程设计任务书……………………………………12、 引言……………………...

    1年前   
    337    0

    连接座课程设计说明书

    Hefei University夹具课程设计COURSE PROJECT题目: 连接座课程设计 系别: 机械工程系 专业:...

    1年前   
    247    0

    文档贡献者

    文***品

    贡献于2023-05-23

    下载需要 2 香币 [香币充值 ]
    亲,您也可以通过 分享原创文档 来获得香币奖励!
    下载文档

    该用户的其他文档