shell脚本基础练习2

1.编写一个脚本/root/bin/createuser.sh,脚本的执行语法必须是:createuser.sh -username -m password,选项与参数间可支持多空格,但不能顺序颠倒。当未指定正确的选项或参数时,以错误输出方式提示“createuser.sh -u username -m password ”后退出脚本。用户名必须以字母开头,可包括数字和_,否则不合法。以错误输出提示用户”用户名仅包含字母数据和下划线”。当用户名检测合法后,判断用户名是否已存在,若存在,再判断用户是否已设置过密码,若设置过密码,直接退出,未设置,则将密码设置为所指定的密码后以正确输出方式显示user密码已更新后退出。当用户名不存在,则创建用户,并为该用户设置所指定的密码后以正确输出方式显示“用户username已创建并更新密码”。要求脚本执行过程中不能有非要求的其他输出结果出现。脚本在非正确方式退出时应反回给?参数非0值。

shell脚本基础练习2

如图:脚本createuser.sh编写成功,且可实现所有要求,脚本内容及注释见下图:

shell脚本基础练习2

2.编写一个创建用户的脚本createyonghu.sh,执行该脚本不用输入任何参数,执行时会提示用户输入用户名,之后检测用户名是否存在,若存在直接提示用户已存在并退出,若不存在,再次提示用户输入密码,要求密码至少5个字符以上,仅可包含大小写及数字组成。 密码的输入过程不可见,且要求用户输入两次密码,两次不一致,直接退出。两次一致,则创建用户并将密码设置为指定密码后,提示用户及密码设置成功。

shell脚本基础练习2

如图:脚本createyonghu.sh编写成功,且可实现所有要求,脚本内容及注释如下:

shell脚本基础练习2

原创文章,作者:mayun,如若转载,请注明出处:http://www.178linux.com/84482

(0)
mayunmayun
上一篇 2017-08-12 16:42
下一篇 2017-08-12 17:08

相关推荐

  • LVS详解及基于LVS实现web服务器负载均衡

    前言 LVS(Linux Virtual Server)Linux虚拟服务器,是一个虚拟的服务器集群系统。本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一。通过LVS提供的负载均衡技术和Linux操作系统可实现一个高性能、高可用的服务器群集,从而以低成本实现最优的服务性能。 集群基础 集群简介 集群(Cluster)是一组相互独立…

    Linux干货 2015-06-01
  • 条件判断工具 test or [ ]

    概述         条件判断是学习shell脚本之前要掌握的重点基础。条件判断分为以下几类:文件判断、数值判断、字符判断。而文件判断还可以细分到:文件类型判断、文件权限判断、文件所属判断、文件之间属性判断;      &nbsp…

    Linux干货 2016-02-14
  • 幽默:程序员的进化

    高中时期 view plaincopy to clipboardprint? 10 PRINT "HELLO WORLD"   20 END 大学新生 view plaincopy to clipboardprint? …

    Linux干货 2016-05-17
  • MySQL应用管理

    这篇文章主要讲述基本的SQL语句,以供新手参考使用,不过最好的办法还是查阅官方文档和help命令。 进入正题 什么是SQL?        SQL结构化查询语言,是关系型数据库查询和管理语言,是一种数据库查询和程序设计语言,用于存取数据以及查询,更新和管理关系型数据库系统。 SQL的分类 &nbsp…

    Linux干货 2015-09-23
  • 马哥教育网络21期+第6周博客练习

    请详细总结vim编辑器的使用并完成以下练习题 1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; :%s@\(^[[:space:]]\+\)@#&@g # Let rhgb know that we&#0…

    Linux干货 2016-08-15
  • cat命令了解

    1 查看文件在LINUX下一切皆文件,光看见文件名和目录名对我们来说,还远远不够。今天,就来介绍一下可以打开文件的命令cat。当然,二进制的可执行文件,不能用cat。在CentOS7下,以/etc/profile文件为例,如下: 首先,怎么打开这个文件呢?直接执行:cat /etc/passwd. 这么多行,能不能看见行号呢?cat -n /etc/pass…

    Linux干货 2017-04-03