Linux Bash脚本编程练习

马哥教育网络班23期+第九周课堂练习

Linux Bash脚本编程练习

练习

1.写一个脚本,判断当前系统上所有用户的shell是否为可登录shell (即用户的shell不是/sbin/nologin) 分别统计这2类用户的个数,通过字符串比较来实现

脚本:

blob.png

测试结果:

blob.png 
。。。

2.写一个脚本

(1)获取当前主机的主机名 保存于hostname变量中

(2)判断此变量的值是否为localhost如果是,则将当前主机名修改为www.magedu.com

(3)否则,显示当前主机名

脚本:

blob.png

测试结果:

blob.png

3.写一个脚本,完成以下功能

(1)传递一个磁盘设备文件路径给脚本,判断此设备是否存在

(2)如果存在,则显示此设备上的所有分区信息

脚本:

blob.png

测试结果:

blob.png

4.写一个脚本,完成如下功能

脚本能够接受一个参数

(1)如果参数1为quit 则显示退出脚本,并执行正常退出

(2)如果参数1为yes 则显示继续执行脚本

(3)否则,参数1为其他任意值,均执行非正常退出

脚本:

blob.png

测试结果:

blob.png

5.写一个脚本,完成以下功能

传递一个参数给脚本,此参数为gzip bzip2 或者xz三者之一

(1)如果参数1的值为gzip 则使用tar和gzip归档压缩/etc目录至/backups目录中,并命名为/backups/etc-20160613.tar.gz

(2)如果参数1的值为bzip2 则使用tar和xz归档压缩/etc目录至/backups目录中,命名为/backups/etc-20160613.tar.bz2

(3)如果参数1的值为xz 则使用tar和xz归档压缩/etc目录至/backups目录中,并命名为/backups/etc-20160613.tar.xz

(4)其他任意值 则显示错误压缩工具,并执行非正常退出

脚本:

blob.png

6.写一个脚本,接受一个路径参数

(1)如果为普通文件。则说明其可被正常访问

(2)如果是目录文件,则说明可对其使用cd命令

(3)如果为符号链接文件,则说明是个访问路径

(4)其他为无法判断

脚本:

blob.png

测试结果:

blob.png

7.写一个脚本,取得当前主机的主机名,判断

(1)如果主机名为空或为Localhost 或为(none)则将其命名为mail.magedu.com

(2)否则,显示现有的主机名即可

blob.png

8.写一个脚本,接受一个用户名为参数

(1)如果用户的id号为0 则显示其为管理员

(2)如果用户的Id号大于0且小于500 则显示其为系统用户

(3)否则,则显示其为普通用户

脚本:

blob.png

测试结果:

blob.png

9.写一个脚本,传递一个用户名参数给脚本

(1)如果用户的id号大于等于500 且其默认shell为以sh结尾的字符串,则显示“a user can log system” 类的字符串

blob.png

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

(0)
luobo3692003luobo3692003
上一篇 2016-11-28 16:41
下一篇 2016-11-28 17:59

相关推荐

  • Linux的软链接和硬链接区别

    在Linux中,为了方便文件的使用,引入了两种链接,即为软链接和硬链接。 那么什么是硬链接,什么又是软链接呢。 简单来说,硬链接就是一个inode号对应多个文件名,也就是说一个文件使用了多个别名。 首先先来看看我们要创建硬连接的文件信息: [root@localhost ~]# ll -i /root &nb…

    Linux干货 2016-10-20
  • N21沉舟13周作业

    1、建立samba共享,共享目录为/data,要求:(描述完整的过程)   1)共享名为shared,工作组为magedu;   2)添加组develop,添加用户gentoo,centos和ubuntu,其中gentoo和centos以develop为附加组,ubuntu不属于develop组;密码均为用户名;   3)添加s…

    Linux干货 2016-10-24
  • 今天把/boot/目录下的文件删除了只好重新安装一下内核和grub

    一前言         今天手贱把/boot/目录下的文件删了  系统重启之后无法登陆系统 无奈只好重装一下内核和grub 二准备工作           Centos7 系统光盘一张 当然我这是虚拟…

    2017-03-06
  • 五大主流数据库模型

    导读:无论是关系型数据库还是非关系型数据库,都是某种数据模型的实现。本文将为大家简要介绍5种常见的数据模型,让我们来追本溯源,窥探现在流行的数据库解决方案背后的神秘世界。 什么是数据模型? 访问数据库中的数据取决于数据库实现的数据模型。数据模型会影响客户端通过API对数据的操作。不同的数据模型可能会提供或多或少的功能。一般而言,数据模型不会直接提供过多的功能…

    Linux干货 2015-04-04
  • 用户和组的配置文件

    一.linux上的用户和组   linux上的用户:       linux上的用户即Username/UID分为以下类别:         管理员:root,0    …

    Linux干货 2016-10-23

评论列表(1条)

  • 马哥教育
    马哥教育 2016-11-30 21:23

    脚本的功能实现的很好,不过不建议这种以直接截图的展现代码的形式,一定要以文本方式进行展示,不仅格式更友好,以方便需要的人拷取,也更符合开源精神嘛。