8-10 bash变量浅谈

8-10 作业

一、脚本

1、编写脚本/root/bin/systeminfo.sh,显示当前主机系统信息,包括主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小。

图片1.png

图片2.png

2、编写脚本/root/bin/backup.sh,可实现每日将/etc/目录备份到/root/etcYYYY-mm-dd

图片3.png

图片4.png

3、编写脚本/root/bin/disk.sh,显示当前硬盘分区中空间利用率最大的值

图片5.png

图片6.png

4、编写脚本/root/bin/links.sh,显示正连接本主机的每个远程主机的IPv4地址和连接数,并按连接数从大到小排序

图片7.png

图片8.png

5、写一个脚本/root/bin/sumid.sh,计算/etc/passwd文件中的第10个用户和第20用户的ID之和

图片9.png

图片10.png

6、写一个脚本/root/bin/sumspace.sh,传递两个文件路径作为参数给脚本,计算这两个文件中所有空白行之和

图片11.png

图片12.png

7、写一个脚本/root/bin/sumfile.sh,统计/etc, /var, /usr目录中共有多少个一级子目录和文件

图片13.png

图片14.png

8、写一个脚本/root/bin/argsnum.sh,接受一个文件路径作为参数;如果参数个数小于1,则提示用户“至少应该给一个参数”,并立即退出;如果参数个数不小于1,则显示第一个参数所指向的文件中的空白行数

图片15.png

图片16.png

9、写一个脚本/root/bin/hostping.sh,接受一个主机的IPv4地址做为参数,测试是否可连通。如果能ping通,则提示用户“该IP地址可访问”;如果不可ping通,则提示用户“该IP地址不可访问”

图片17.png

图片18.png

10、判断硬盘的每个分区空间和inode的利用率是否大于80,如果是,发邮件通知root磁盘满

图片19.png

图片20.png

图片21.png

11、指定文件做为参数,判断文件是否为.sh后缀,如果是,添加x权限

图片22.png

图片23.png

12、判断输入的IP是否为合法IP

图片24.png

图片25.png

13、计算1+2+3+…+100

图片26.png

图片27.png

14、输入起始值A和最后值B,计算从A+A+1…+(B-1)+B的总和

图片28.png

.写博客客

变量类型,区别

位置变量$0 $1,$2,$# $@ $*

变量类型:本地变量  环境变量  位置变量

本地变量:生效范围为当前shell进程,对当前shell之外的其他shell进程包括当前shell的子进程均无效

环境变量:生效范围为当前shell 进程及其子进程

位置变量:$1, $2, … 来表示,用于让脚本在脚本代码中调用通过命令行传递给它的参数

 

位置变量

$0: 脚本文件路径自身

$1:跟随在脚本名后面的第一个参数

$2: 跟随在脚本名后面的第二个参数

$#:脚本参数的个数

$@:所有脚本参数,全部参数每个都为独立字符串

$*:所有脚本参数,全部参数合为一个字符串

图片29.png

图片30.png

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

(0)
DadiDadi
上一篇 2016-08-15
下一篇 2016-08-15

相关推荐

  • 文件的权限、扩展属性以及facl

    大纲: 一、前言 二、普通权限 三、特殊权限 四、ext文件的扩展属性 五、文件的访问控制列表(facl) 一、前言 linux中常见的权限有读(r)、写(w)、执行(x),还有3个特殊的权限。因此下面就从普通权限开始介绍起 二、普通权限 rwx:读 写 执行 rwxr-xr-x : 读写执行 读_执行 读_执行  (分别对应)属主 属组…

    Linux干货 2015-05-04
  • Homework Week-10 CentOS启动相关及bash脚本编程

    1、请详细描述CentOS系统的启动流程(详细到每个过程系统做了哪些事情) 2、为运行于虚拟机上的CentOS 6添加一块新硬件,提供两个主分区;   (1) 为硬盘新建两个主分区;并为其安装grub;   (2) 为硬盘的第一个主分区提供内核和ramdisk文件; 为第二个分区提供rootfs;   (3) 为rootfs提供…

    Linux干货 2016-10-24
  • Haproxy的基础应用!

            本篇博客主要是和大家共同了解一下Haproxy的功能与基础应用,目的是更加熟练的掌握Haproxy的工作原理,为将来的工种中做好铺垫!       本篇博客共分为两个部分:      …

    2017-05-16
  • Linux运维利器之ClusterShell

    Via:http://blogread.cn/it/article/4573?f=wb 如果你有若干台数据库服务器,突然你想知道它们当前的即时负载情况,你会怎么办?挨个登录上去uptime一下?感觉有点傻,写个shell?浪费时间,直接用ClusterShell吧! ClusterShell的安装与配置     Clu…

    Linux干货 2015-05-12
  • 计算机起源与Linux简述

    什么是计算机?  计算机(computer)俗称电脑,是一种用于高速计算的电子计算机器,可以进行数值计算,又可以进行逻辑计算,还具有存储记忆功能。是能够按照程序运行,自动、高速处理海量数据的现代化智能电子设备。 它由硬件系统和软件系统组成,没有安装任何软件的计算机被称为裸机。硬件系统由运算器,控制器,存储器,输入设备,输出设备几部分组成;…

    Linux干货 2017-03-29
  • 马哥教育网络班第19期+第9周课程练习

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; 2、写一个脚本     (1) 获取当前主机的主机名,保存于hostname变量中;     (2) 判断此变量的值是否为localhost,如果是…

    Linux干货 2016-09-19