Shell脚本基础练习

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

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

Shell脚本基础练习

$1$2表示的是位置变量,作用是在脚本代码中通过命令传递给脚本的参数。在这里定义里两个变量UID_10UID_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

相关推荐

  • Samba & Vsftp

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

    Linux干货 2016-12-20
  • Android必备的Java知识点

     Android应用程序开发是以Java语言为基础的,所以需要有扎实的Java基础知识。首先熟悉java基本语法,然后熟悉设计模式等。         a) Java基础语法:看下面的《Java知识点列表》       b)设计模式:由于在Android系统的框架层当中,使用了大…

    Linux干货 2015-04-08
  • 文件查找与压缩-2

    1、tar [OPTION]… (1) 创建归档(打包而非压缩) 其中-c是创建备份,-f是指定创建备份成的文件即是/PATH/TO/SOMEFILE.tar #tar -c -f /PATH/TO/SOMEFILE.tar  FILE… #tar cf / PATH/TO/SOMEFILE.tar FILE… …

    Linux干货 2016-08-18
  • LVS介绍及工作原理图解

    一、LVS简介 LVS是Linux Virtual Server的简称,也就是Linux虚拟服务器,是一个由章文嵩博士发起的自由软件项目,官方站点是:http://www.linuxvirtualserver.org。现在LVS已经是Linux标准内核的一部分,在Linux2.4内核以前,使用LVS时必须重新编译内核以支持LVS功能模块,但是从Linux2.…

    2017-12-06
  • Linux下常用的日志收集命令(Redhat&SuSe)

       Linux下日志的采集和分析是一个非常重要的工作,一般厂商在你需要技术支持的时候,都需要你通过对应指令收集系统的信息,我这边列举下常用的两个Linux厂商的收集命令(Redhat Linux以及SuSe Linux),便于收集后,对系统进行全面分析。   sosreport是一个类型于supportconfig …

    系统运维 2016-07-07
  • linux下zip包的压缩与解压

    linux zip 命令详解  功能说明:压缩文件。  语 法:zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b <工作目录>][-ll][-n <字尾字符串>][-t <日期时间>][-<压缩效率>][压缩文件][文件…][-i <范本样式&gt…

    Linux干货 2017-04-10