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

相关推荐

  • 二叉树迭代器算法

    二叉树(Binary Tree)的前序、中序和后续遍历是算法和数据结构中的基本问题,基于递归的二叉树遍历算法更是递归的经典应用。 假设二叉树结点定义如下: // C++ struct Node {     int value;     No…

    Linux干货 2016-08-15
  • 数组知识与编译安装

    数组知识与编译安装 一数组知识 1、定义数组    声明数组: declare -a ARRAY_NAME declare -A ARRAY_NAME:  关联数组 数组元素的赋值: (1)  一次只赋值一个元素; ARRAY_NAME[INDEX]=VALUE weekdays[0]="Sunday&quo…

    Linux干货 2016-09-19
  • 知识提炼之0714

    history          history[-c] [-d offset] [n]          history-anrw [filename]    &nbs…

    Linux干货 2017-07-14
  • 创建私有CA及dropbear的编译安装

    使用openssl创建私有CA 配置文件/etc/pki/tls/openssl.cnf certs           = $dir/certs         &nb…

    Linux干货 2016-09-26
  • Linux文本处理三剑客之awk详解

    前言 awk是一款强大的报告生成器,不同于sed和grep,它的侧重点是如何把文本信息更好的展示出来,常用与统计和格式化输出。awk相当于微型的shell,有着自己一套语法结构,例如:循环结构,数组,条件判断,函数,内置变量等功能。处理对象一般纯文本文件或纯文本信息。 用法详解 基本语法 awk [options] 'progra…

    Linux干货 2015-04-29
  • 集中管理利器-puppet快速入门-中

    集中管理利器-puppet快速入门-中 6.    尝试启动master puppet 启动master puppet,并确认8140端口已被监听:  #puppet返回成功,但不一定能成功启动,puppet这个功能希望能改进… 7.    目录结构 /etc/puppet/  …

    Linux干货 2015-05-04

评论列表(1条)

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

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