随笔分类 - shell
摘要:一、条件选择、判断(if、case) 1.1 if语句用法及实例 当我们在脚本中遇到需要判断的时候,我们就可以用if语句来实现。具体的语法如下: 单分支 if 判断条件;then 条件为真的分支代码 fi 双分支 if 判断条件; then 条件为真的分支代码 else 条件为假的分支代码 fi 多
阅读全文
摘要:前言: linux下常常需要统计各种数据,生成好之后,往往还需要按行,逐个复制到excel中,繁琐的非常的不人道,无意中发现可以使用csv来解决这个问题,思路就是使用shell将需要统计的内容生成csv文件,然后使用office将csv文件转换成excel,即使不能解决所有的问题,也可以在csv文件
阅读全文
摘要:计算脚本执行时间: #!/bin/bashstarttime=`date +%s -d '2010-01-01 17:23:40'` endtime=`date +%s -d '2010-01-01 15:01:47'` time=`echo $(($endtime - $starttime)) |
阅读全文
摘要:前言: 正则可以实现一些简单的功能,并用在脚本中,如检测ip地址是否符合规范,检测文件名是否符合规范等等。 正则表达式 正则表达式主要是用来描述一个句法规则的模式。其实说的通俗一点,就是利用字符和元字符的组合,对一些符合既定句法的模式进行模糊匹配。它的主要功能是文本查询和字符串操作。 正则表达式的基
阅读全文
摘要:1.统计当前目录下所有文件的大小之和: du -ch ./ 不仅能统计文件,还能统计文件夹的大小,这是ll -h所不能的 2.根据一列值的大小,打印另一列: docker images | grep -v ID | grep months | awk '$4 >= 15 {print $1}' 3.
阅读全文
摘要:seq 用于生成从一个数到另一个数之间的所有整数。 #seq 1 5 生成数字1到5 1 2 3 4 5 用法:seq [选项]... 尾数 或:seq [选项]... 首数 尾数 或:seq [选项]... 首数 增量 尾数 选项: -f, --format=FORMAT use printf s
阅读全文
摘要:前言: 在Linux平台上工作,我们经常需要使用shell来编写一些有用、有意义的脚本程序。shell数组并不常用到,因为它仅支持弱类型的一维数组,但在某些情况下,它非常的有用。那么,shell中的数组是怎么表现的呢,又是怎么定义的呢?接下来逐一的进行讲解,shell中的数组。 数组的定义 何为数组
阅读全文
摘要:前言: crond服务提供分钟级的定时任务,但有的应用场景需要秒级的执行脚本,比如不稳定的应用程序,或者需要高可用的服务等等,整理测试后,有两种办法:1.使用while写一个死循环,并将脚本放入后台执行。2.使用sleep,根据脚本的需求来进行crontab的修改。3.最好在脚本中再补充一个记录进程
阅读全文
摘要:前言: 生产环境中的应用场景:根目录下建立数量不等的目录,挂载不同的硬盘,按sdb-sdn的顺序对应/data2-/datan,就需要for循环嵌套来解决,写成如for i in 1 2 3 ,for j in a b c,1a,2b,3c这样而for循环似乎并不支持for的一一对应,写出来执行的话
阅读全文
摘要:前言: expect是什么? 答:expect 是由Don Libes基于Tcl(Tool Command Language )语言开发的,主要应用于自动化交互式操作的场景,是一个免费的编程工具,用来实现自动的交互式任务,而无需人为干预。说白了,expect就是一套用来实现自动交互功能的软件。 ex
阅读全文
摘要:前言: Shell脚本是Linux开发工作中常用的工具,但是我一直没有找到一个适合自己的简明扼要的HandBook。在工作过程中整理了一下,贴在这里以备查看。 一、基础篇 1.对文件的判断:(命令执行成功返回值是0,不成功则是非0) -e filename 如果 filename存在,则为真 -d
阅读全文
摘要:应用场景: 在应用ansible的实际情况中,有一个很现实的问题,ansible是需要对主机做ssh免密登陆的,而挨个对主机做免密是非常的繁琐的,挨个敲IP不仅非常的繁琐而且容易出错,为解决这个问题,为以后使用ansible时的便捷,写了一个小脚本,实现批量对主机的免密配置: #!/bin/bash
阅读全文
摘要:先说业务场景吧,需要虚拟出一百多台机器,每个机器需要挂载数量不等的硬盘,然后输出相关信息,并附带输出mac地址方便查询,这一台一台的统计,不得看的人头晕眼花,果断ansible+脚本安排,人和动物最大的区别就是人懂得使用工具,这个小脚本需要解决三个问题: 一、统计硬盘数量并根据硬盘数量创建对应规律的
阅读全文
摘要:先说一下需求吧,公司开发了一款新的产品,新产品嘛,有着不得不出问题的理由,四个云机房,总共三百余台机器,需要实时的监控进程状态,虽然有zabbix来实现,但领导需求是脚本和zabbix一起做,zabbix网上有现成的教程,今天主要说的是shell的实现思路与方式: 1.使用脚本来进行进程监控,将进程
阅读全文