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

相关推荐

  • linux基础学习-网络基础

    一、OSI七层模型 二、TCP/IP模型         三次握手原理 三、常见服务的默认端口 四、IP地址、子网划分基础知识     通信原理:一般数据的交互产生是在应用层(TCP/IP模型),应用层以下可以看成是搬运工,不同层的协议定义了不同的搬运工的工作内容,直到最后,把数…

    Linux干货 2016-09-05
  • 配置LAMP (php-fpm模式)部署步骤

    配置LAMP (php-fpm模式)部署步骤 1.安装mariadb yum install maridb-server -y 1).配置server.cnf cp /etc/my.cnf.d/server.cnf{,.back} vim /etc/my.cnf.d/server.cnf ##mariadb服务器端配置文件 [mysqld] ##以下项是优化…

    Linux干货 2017-06-02
  • linux用户管理

    linux用户:       linux用户大体分为两种:一是:管理员用户;二是普通用户,普通用户又可以分为系统用户和登录用户。因为linux是一个多用户多任务的系统,所以每一个要使用系统资源的用户,都要向管理员申请一个账号,使用这个账号登录到系统。每个用户都拥有一个自己的名字和密码,以登录到用户。 每个用户都有唯一的用户标识(…

    Linux干货 2016-08-04
  • 1.计算机的组成原理与linux初识

    计算机的组成原理 抽象 具体 Linux初识 负责与硬件交互,并向外提供系统调用 Linux大家庭 suse系列: opensuse suse enterprise redhat系列: centos redhat Debian系列: ubuntu debian 命令总结 显示本机IP(需要root权限) [root@localhost dev]# ifcon…

    Linux干货 2017-07-02
  • CentOS7下利用rsyslog+loganalyzer配置日志服务器及Linux和windows客户端配置

    随着机房内的服务器和网络设备增加,日志管理和查询就成了让系统管理员头疼的事。 系统管理员遇到的常见问题如下: 1、日常维护过程中不可能登录到每一台服务器和设备上去查看日志; 2、网络设备上的存储空间有限,不可能存储日期太长的日志,而系统出现问题又有可能是很久以前发生的某些操作造成的; 3、在某些非法入侵的情况下,入侵者一般都会清除本地日志…

    2017-03-15
  • bash编程初体验(一)

    bash编程初体验(一) 认识bash编程 变量与赋值 算术与逻辑运算 条件测试与退出状态 认识bash编程 Bash(GNU Bourne-Again Shell)是许多Linux发行版的默认Shell,我们要认识的bash中,就是在bash的环境下的一种编程。 众所周知,程序=指令+数据,由此也决定了两种不同的编程风格,过程过与对象式; 过程式:以指令为…

    Linux干货 2016-08-15

评论列表(1条)

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

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