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
下一篇 2016-11-28

相关推荐

  • N25 第五周博客

      1、显示当前系统上root、fedora或user1用户的默认shell;      ]# egrep "^root\b|^user1\b|^fedora\b" /etc/passwd | cut -d: -f1,7…

    Linux干货 2017-01-04
  • 难搞的grep、find练习题

    马哥教育网络班21期-第五周博客作业 1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; [root@caicai ~]# grep –color "^[[:space:]]\+" /boot/grub/grub.conf    …

    Linux干货 2016-07-26
  • 周期性计划任务crond讲解

    crond是Linux或者unix系统的作业调度程序。运用它,在设定的时间段周期性执行某个命令或脚本。下文的例子均在centos 7.3上测试。一、crond组件 如果centos7.3最小化安装,不一定存在crond服务,需要手动安装,安装之后手动启动并设置以后自行开机启动。 主要有cronie、cronie-anacron、crontabs三个程序包。 …

    Linux干货 2017-03-27
  • N26-博客作业-week14

    系统的INPUT和OUTPUT默认策略为DROP; 1、限制本地主机的web服务器在周一不允许访问;新请求的速率不能超过100个每秒;web服务器包含了admin字符串的页面不允许访问;web服务器仅允许响应报文离开本机; 配置系统INPUT和OUTPUT默认策略为DROP# iptables -P INPUT DROP# iptables -P OUTPU…

    Linux干货 2017-06-22
  • 误删除centos6.8内核修复全过程

    关于误删除系统内核或内核损坏修复教程,本教程主要详细描述系统内核或内核损坏修复过程中步骤详解 一.操作环境 硬件:华硕笔记本 软件:VMware Workstation Pro 12版本  Centos 6.8.iso镜像 二,修复步骤 第一步,我们先要挂载centos6.8的镜像,然后光盘启动 进入系统救援模式 进入当前系统的根目录 我们需要手动…

    Linux干货 2016-09-05
  • Mysql之运用MHA的功能实现服务高可用

    MHA介绍 (Master High Availability) MHA(Master HA)是一款开源的 MySQL 的高可用程序,它为 MySQL 主从复制架构提供 了 automating master failover 功能。MHA 在监控到 master 节点故障时,会提升其中拥有最新数据的 slave 节点成为新的 master 节点,在此期间,…

    2017-09-14

评论列表(1条)

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

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