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
下一篇 2017-08-12

相关推荐

  • Puppet基于Master/Agent模式实现LNMP平台部署

    前言 随着IT行业的迅猛发展,传统的运维方式靠大量人力比较吃力,运维人员面对日益增长的服务器和运维工作,不得不把很多重复的、繁琐的工作利用自动化处理。前期我们介绍了运维自动化工具ansible的简单应用,本期带来的是运维自动化神器puppet基于Master/Agent模式实现LNMP平台部署。 Puppet 简介 Puppet是基于ruby语言开发的一种L…

    Linux干货 2015-07-13
  • 程序包编译安装

    linux安装采用命令行形式。

    2018-03-17
  • 15磁盘管理

    在系统中,常见的硬盘接口有分两类:并行的和串行的 并行: IDE: 133MB/s SCSI: 640MB/s 串行: SATA: 6Gbps SAS: 6Gbps USB: 480MB/s 存储设备的设备文件命名方式大致为:/dev/DEV_FILE IDE: /dev/hd#  #–>0,1,2,3 SCSI,SATA,SAS…

    Linux干货 2016-12-02
  • Nginx 负载均衡多个nmmp主机

    设计拓扑图 一、Memcache简介 cache(缓存系统) 高性能分布式缓存服务器,缓存所有的“可流式化”数据:livejournal旗下Danga Interacive公司 程序=指令+数据 指令:程序 数据:IO操作 文件系统: 特征:协议简单  基于libevent的事件处理  内置内存存储方式  memcached 不…

    2016-06-14
  • N25期—第五周作业

    1、 显示当前系统上root、fedora或user1用户的默认shell; grep -E "^(root|fedora|user1):" /etc/passwd | cut -d: -f7 2、找出/etc/rc.d/init.d/functions文件中某单词后面…

    Linux干货 2017-01-02
  • Linux基础学习总结(三)

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次: [leexide@leeblog ~]$who | cut -d" " -f1 | uniq 2、取出最后登录到当前系统的用户的相关信息。 last -n&nbs…

    Linux干货 2016-10-03