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 09:25
下一篇 2016-08-15 09:26

相关推荐

  • 【N25第一周作业】Linux上命令的使用格式和基础命令详解

    一、Linux上命令的使用格式 命令行提示符详解: 用户通过终端的命令行接口来控制操作系统,登陆后如下: [root@localhost ~]# root: 当前登录的用户 @:分隔符 localhost: 当前主机的主机名,非完整格式;此处的完整格式为:localhost.localdomain [root@localhost ~]#&…

    Linux干货 2016-12-03
  • linux快捷键

    $ 用法 $变量名 表引用变量的值 $()或(单引号) 表示引用命令执行的结果 $[] 表示运算 ${变量名} 或"$变量名" 当变量名的起止不分明时,用来划定变量名的范围,同时引用变量。 {} 用法 {a..z} 表示引用指定范围的字母 {1..9999} 表示引用指定范围的数字​ {1,3,5} 表示分别引用每一个字符 TAB 用法 …

    Linux干货 2017-07-13
  • 马哥教育网络班21期+第13周课程练习

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

    Linux干货 2016-10-17
  • 文件、目录2——Linux基本命令(8)

    1.复制文件和目录 cp  SRC  DEST 源 目的地 规则: 如果目标目录下还有一个目录与源文件同名,则无法复制:            -i 覆盖前提示        &n…

    2017-07-18
  • 运维自动化之系统安装

    自动化安装系统,cobbler的安装使用

    Linux干货 2018-01-15
  • 8月2日作业

            1、在/data/testdir里创建的新文件自动属于g1组,组g2的成员如:alice能对这些新文件有读写权限,组g3的成员如:tom只能对新文件有读权限,其它用户(不属于g1,g2,g3)不能访问这个文件夹。 [root@localhost test…

    Linux干货 2016-08-05