Shell脚本基础练习

脚本编程能力是作为运维工程师不可或缺的一项基本技能,各种系统的运维,如果完全靠命令行一条一条命令来执行,工作效率可想而知,而脚本却可以将完成一定功能的各个命令依据一定的流程控制,逻辑判断去完成某种功能,提升工作效率。学习shell脚本,光学习理论是远远不够的,所以在学习中要多多练习,下面就看一些关于shell脚本基础的练习

(1) 编写脚本/root/bin/sumid.sh,计算/etc/passwd文件中的第10个用户和第20用户的ID之和

Shell脚本基础练习

$1、$2表示的是位置变量,作用是在脚本代码中通过命令传递给脚本的参数。在这里定义里两个变量UID_10和UID_20 ,用来存储某个用户的uid,在给变量赋值的过程中,可以引用命令执行的结果,使用管道符过滤出想要的结果,赋值给变量。

Shell脚本基础练习

在执行脚本的时候,输入两个位置变量参数,在执行时,脚本代码就会调用这两个参数,实现想要完成的操作。使用位置参数,不仅可以计算第十个和第二十个用户的uid之和,还可以计算任意两个用户的uid之和,只要在执行脚本时输入想要查询第几个用户,就可以完成。

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

Shell脚本基础练习 

Shell脚本基础练习

传递两个文件路径参数$1、$2 , 在执行脚本代码中设置两个变量表示两个文件的空白行数,在给变量赋值时调用命令执行的结果,在赋值时支持正则表达式。

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

Shell脚本基础练习

Shell脚本基础练习

三个位置参数表示目录名,使用ls  -A 过滤掉当前目录“.”和上级目录“..”,这样显示的就只有一级子目录和文件了。

(4)编写脚本/bin/per.sh,判断当前用户对指定的参数文件,是否不可读并且不可写

 Shell脚本基础练习Shell脚本基础练习Shell脚本基础练习

-r filename 是用来判断文件是否可读,可读时为真,-w filename是用来判断文件是否可写,可写时为真。 “!”后加命令表示“非”,所以脚本执行的结果是当“[  ]”中为真时,输出不可读不可写,当为假时,输出显示该文件可读或者可写。

(5)编写脚本/root/bin/excute.sh ,判断参数文件是否为sh后缀的普通文件,如果是,添加所有人可执行权限,否则提示用户非脚本文件

Shell脚本基础练习 

Shell脚本基础练习 

定义变量var1 因为输入的位置变量$1是一个文件的路径,所以使用basename命令用来取出输入的路径的基名。

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

赞 (2)
MelissaMelissa
上一篇 2017-08-05 20:34
下一篇 2017-08-05 20:41

相关推荐

  • varnish 缓存服务器配置与使用

    varnish 缓存服务器配置与使用 一、cache 1.缓存为什么会存在? 一个快的设备要想和慢的设备交互,只有一种办法就是让快的设备工作在慢的设备的频段上!这样的话就浪费了,我们可以在两者之间加上一个加速器,这个加速器就叫做缓存! CPU要读取一个数据时,首先从Cache中查找,如果找到就立即读取并送给CPU处理;如果没有找到,就用相对慢的速度从内存中读…

    2016-11-13
  • 携程全站瘫痪引发的思考

       为今年5月冠上多事之夏的名头已是无可厚非的一件事,自支付宝光纤被挖断后,携程又暴出全站瘫痪的风波,从5/28 11:00开始,直到晚上11:29分才全面恢复.互联网也是谣言四起,纷纷猜测百度腾讯谁会是下一个灾难的受害者。暂切抛开这些玩笑言论,就携程本次事情引发的思考太多,前车之鉴后事之师,如果携程的事情发生到我们身上,我们该怎么办,…

    Linux干货 2015-06-03
  • vim使用方法

    vim是vi的增强版本,具有比vimi更加强大的功能,对于尤其适合编写脚本,下面总结一下vim的常用方法。 vim三种工作模式。         1. 编辑模式:          &nbs…

    2015-03-18
  • 优云Monitor:开启数据中心主机运维的上帝视角

    常常有这么一句话在激励每一位运维人员,“不以故障多为耻,而以恢复快为荣。”运维人员就是要快速定位问题,分析问题,排除故障,快速恢复来保障生产业务不受中断。然而,现代大型数据中心,运维人员要管理的系统节点比以前繁多,为了掌控数据中心的实时运行情况与定位问题,需要花的时间成本已经长得无法接受。 而优云Monitor给运维人员提供了极好的可视化手段,能够让运维人员…

    系统运维 2017-01-09
  • LVM逻辑卷管理练习

         小编今天要讲的内容是如何创建逻辑卷,然后扩展它、缩减它。LVM 的重点就在于可以弹性的调整文件系统的容量!所以,下面练习开始。 1、创建一个至少有两个PV组成的大小为20G的名为testvg的 VG;要求PE大小为16MB, 而后在卷组中创建大小为5G的逻 辑卷testlv;挂载至/users目录。 ①准备两个10G的…

    2017-08-26
  • 制作引导分区

      使用虚拟机制作一个可以引导启动的简单系统。方法如下:   一、制作两个分区     1、添加一块新的硬盘,新建两个分区,格式化并挂载到/mnt/boot和/mnt/sysroot目录中;虚拟机添加硬盘的操作很简单就不做演示了,要注意的是添加的硬盘最好选择成“将虚拟磁盘存储为单个个文件”,并为将文件名修改为容易识别的…

    Linux干货 2016-01-18