shell脚本实例

shell之磁盘容量检查,配合crontab可以定时清理磁盘

雨燕双飞 提交于 2019-11-28 00:05:34
我的做法: !/bin/bash Available=`df -k | sed -n 2p | awk '{print $4}'` if [ $Available -eq 0 ];then `echo '' > /home/wwwlogs/bes-req.log` fi 参考资料: #!/bin/bash #取得每个分区的使用百分比(不要百分号) percent=`df -k | grep -v Filesystem| awk '{print int($5)}' ` #循环判断分区使用率是否超过90% for each_one in $percent do #判断使用率是否超过90% if [ $each_one -ge 90 ];then #如果超过90 则把使用情况发给mail_address mail_address换成你的邮件地址 df | mail -s "Disk Critical" mail_address fi done 配合shell 的crontab功能,不能写java代码就可以迅速实现功能 一 cron crond位于/etc/rc.d/init.d/crond 或 /etc/init.d 或 /etc/rc.d /rc5.d/S90crond,最总引用/var/lock/subsys/crond。 cron是一个linux下的定时执行工具

Linux shell

白昼怎懂夜的黑 提交于 2019-11-27 12:51:16
Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。 ! 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种 Shell。 !/bin/bash echo "Hello World !" 变量 readonly myUrl 只读变量 unset myUrl 删除变量 运行shell时,会同时存在三种变量: 1) 局部变量 局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量。 2) 环境变量 所有的程序,包括shell启动的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行。必要的时候shell脚本也可以定义环境变量。 3) shell变量 shell变量是由shell程序设置的特殊变量。shell变量中有一部分是环境变量,有一部分是局部变量,这些变量保证了shell的正常运行 来源: https://www.cnblogs.com/ww11/p/11359379.html

shell脚本之正则表达式

帅比萌擦擦* 提交于 2019-11-27 12:50:13
一、基础正则表达式实例: 元字符: 在Linux系统中常见的文件处理工具中grep和sed支持基础正则表达式。 grep命令选项: -i:查找时不区分大小写; -v:查找时反向输出,如查找不包含某些字符的内容; -n:表示查找出结果后显示行号; 这三个选项可以结合使用,如“-in”,查找时不区分大小写并显示行号。 示例: [root@localhost ~]# grep -n 'the' test.txt #查找test文件中包含字符“the”的行 #可以将选项改为“-vn”来查找不包含“the”的行。 [root@localhost ~]# grep -n "sh[io]rt" test.txt #[io]表示匹配 i 或o的显示出来 #[ ]中无论有几个字符都仅代表匹配一个字符即可。 [root@localhost ~]# grep -n 'oo' test.txt #查找包含字符“oo”的行。 [root@localhost ~]# grep -n 'ooo*' test.txt #查找包含至少两个o以上的字符串。 [root@localhost ~]# grep -n 'o\{2\}' test.txt #查找包含两个“o”的字符串。 [root@localhost ~]# grep -n 'o\{2,5\}' test.txt #查找包含2~5个o的字符串。 [root

shell编程基础(二)

自闭症网瘾萝莉.ら 提交于 2019-11-27 11:13:29
Shell是命令解释器,是Unix/Linux系统中用户和内核交互的接口。Shell脚本是shell程序设计语言编写的程序。 一、交互式或登录(注册)shell 交互式注册(交互式登录)shell:输入用户名(/etc/passwd)、密码(/etc/shadow)成功登录系统,即调用交互式注册shell。 会运行初始化文件,设置用户运行环境。 交互式非注册shell:在提示符下,输入任意shell,如ksh等,将进入交互式非注册shell。 会运行对应shell初始化文件,也会继承注册shell的环境。 非交互式shell:主要是运行shell脚本。 不执行初始化文件,但会继承注册shell环境。 交互式模式就是在终端上执行,shell等待你的输入,并且立即执行你提交的命令。 这种模式被称作交互式是因为shell与用户进行交互。 这种模式也是大多数用户非常熟悉的:登录、执行一些命令、退出。 当你退出后,shell也终止了 非交互式模式以shell script(非交互)方式执行。 在这种模式下,shell不与你进行交互,而是读取存放在文件中的命令,并且执行它们。 当它读到文件的结尾EOF,shell也就终止了 二、shell和shell脚本 Shell是命令解释器,是Unix/Linux系统中用户和内核交互的接口。 Shell脚本是shell程序设计语言编写的程序

第三季-第27课-Shell脚本高级编程

一曲冷凌霜 提交于 2019-11-27 10:45:04
第27课-Shell脚本高级编程 28.1 什么是脚本 脚本是一个包含一系列 命令序列 的 文本文件 (可以通过编辑器进行编辑,而且可以执行)。当运行这个脚本文件时,文件中包含的命令序列将得到自动执行。例如我们创建7个文件,可以不断的创建7个文件,也可以通过一个脚本文件(.sh文件)来创建。 28.2 脚本编程技术 1. 基本结构 (1)解析器:#!后面的部分,表示该脚本用哪个解析器来操作; (2)命令序列:由众多的命令组成。 2. 变量 shell脚本允许用户设置和使用自己的变量,变量可以使数字或者字符串,用户无需指定其类型,也无需在使用前定义。 赋值号的左右两边不用空格 ,注释用#开头。 #!/bin/sh a=”hello world” b=5 echo “A is: $a” echo “B is %b” 注:在运行该程序之前我们会发现有错,是因为我们使用的是windows下的文件和linux下的文件不同。所以,我们通过dos2unix shell.sh进行转换。我们在转换之前要安装相应的rpm包。 3. 参数 同C程序一样,shell脚本中可以使用命令行参数 $#:传入脚本的命令行参数个数 $*:所有命令行参数值,在各个参数值之间留有空格 $0:命令本身(shell本身) $1:第一个命令行参数 $2:第二个命令行参数 例如: #2.3 echo "number of

shell脚本8-15

主宰稳场 提交于 2019-11-27 10:43:01
交互输入与for语句(8-15) 交互输入 1、read的用法:read命令同时可以定义多个变量值,而输入的内容默认可以空格为分配符,将值输入到对应的变量中;如果默认值过多最后所有的值都会被赋予给最后一个变量 2、如果默认是过少,多余的变量则为空值。 3、实例 read a b c aa bb cc 4、Read如何输入:echo “请输入一个目录”(我们需要echo -n取消换行符号) Echo “请输入人一个目录:”read变量(请输入一个目录/etc) 5、常用参数:-p read -p “请输入一个目录”变量 -t 定义超时时间 read -t 5 -p“请输入一个目录:”变量 6、脚本默认值: 练习: 输入一个设备文件,输出这个设备文件的基本信息。 #!/bin/bash #输入一个设备文件,输出这个设备文件的基本信息。 read -t 5 -p "请输入一个设备文件名:" devname [ -z $devname ] && devname=`fdisk -l` if [ -b /dev/$devname ];then fdisk -l /dev/$devname exit 0 else echo "$devname不是设备文件" echo "Usage:'请输入一个设备文件,如sda'" fi 执行结果: 7、case语句的语法格式: case 变量 in

shell脚本day04-grep与正则表达式

佐手、 提交于 2019-11-27 08:22:13
一、grep程序   LINUX下有文本处理三剑客 -- grep sed awk   grep: 文本 行过滤工具   sed: 文本 行编辑器(流编辑器)   awk: 报告生成器,做文本输出格式化   1.grep包含三个命令:grep egrep fgrep用来进行行模式(pattern)匹配     egrep = grep -E //使用扩展的正则表达式进行匹配     fgrep = fast grep //只使用文件通配符进行匹配     *grep默认使用正则表达式进行文本匹配*   2.grep的用法     -E 支持使用扩展的正则表达式(ERE)(regexp)       -p 支持使用perl语言的正则表达式引擎进行搜索(每一种语言的正则表达式引擎都不相同,甚至sed grep awk使用的regxp引擎也不用)     -i 忽略大小写     -v 进行反选     -o 仅仅输出匹配的内容(默认输出 是匹配到的行)     --color=auto 语法着色     -n 显示行号 二、正则表达式--PATTERN    作用:通过一些特殊字符来表示一类字符内容,然后交给前面的命令来执行;如果使用特殊字符本身的含义,就需要\转义\   1.字符匹配     [] 范围内任意一个字符     [^] 范围外任意一个字符     字符类:[:digit

shell脚本之正则表达式

不羁岁月 提交于 2019-11-27 08:14:36
一、基础正则表达式实例: 元字符: 在Linux系统中常见的文件处理工具中grep和sed支持基础正则表达式。 grep命令选项: -i:查找时不区分大小写; -v:查找时反向输出,如查找不包含某些字符的内容; -n:表示查找出结果后显示行号; 这三个选项可以结合使用,如“-in”,查找时不区分大小写并显示行号。 示例: [root@localhost ~]# grep -n 'the' test.txt #查找test文件中包含字符“the”的行 #可以将选项改为“-vn”来查找不包含“the”的行。 [root@localhost ~]# grep -n "sh[io]rt" test.txt #[io]表示匹配 i 或o的显示出来 #[ ]中无论有几个字符都仅代表匹配一个字符即可。 [root@localhost ~]# grep -n 'oo' test.txt #查找包含字符“oo”的行。 [root@localhost ~]# grep -n 'ooo*' test.txt #查找包含至少两个o以上的字符串。 [root@localhost ~]# grep -n 'o\{2\}' test.txt #查找包含两个“o”的字符串。 [root@localhost ~]# grep -n 'o\{2,5\}' test.txt #查找包含2~5个o的字符串。 [root

Shell:Day04.笔记

岁酱吖の 提交于 2019-11-27 08:10:43
grep与正则表达式: 1、grep程序 Linux下有文本处理三剑客 - - grep sed awk grep:文本 行 过滤工具 sed:文本 行 编辑器(流编辑器) awk:报告生成器(做文本输出格式化) grep 包含三个命令:grep egrep fgrep,它们是用来进行 行模式(pattern)匹配的 egrep = grep - E //使用扩展的正则表达式进行匹配 fgrep = fast grep //只使用文件通配符进行匹配 *grep默认使用正则表达式进行文本匹配* grep的用法: grep [option]...PATTERN [filename] grep的常见选项 -- option -E 支持使用的扩展的正则表达式(ERE) (regexp) -P 使用perl语言的正则表达式引擎进行搜索(每一种语言的正则表达式引擎都不相同,甚至sed grep awk使用的regexp引擎也不相同 -i 忽略大小 -v 进行反选 -o 仅仅输出匹配的内容(默认输出的是匹配到的行) --color=auto 语法着色 -n 显示行号 PATTERN--正则表达式 作用:通过一些特殊字符,来表示一类字符内容,然后交给前面的命令来执行;如果使用特殊字符本身含义,就需要 \ 进行转译; 回顾:文件通配符(globbing) *?[][^] 1、字符匹配 .

由某云服务示例代码想到的...

家住魔仙堡 提交于 2019-11-27 06:21:27
  去年自己购买了云实例。 最近注意到服务商提供了“自定义云监控服务”,允许用户自定义对服务器的监控并提供图表展示和告警,服务商也提供了 示例代码 。   服务商提供了python 和 shell 版本的示例代码, 下载查看, 令我想起了先前的博客“ 我们还在像猴子一样对待脚本 ?”。   粗略扫过,其代码存在如下问题: 需求层面: python 与shell 版本所做的事情不一致 代码层面: python 与shell 版本的代码没有做封装,在一个方法里做过多的事情 python脚本里有做exception捕获, 而shell 脚本里没有   那么背后的原因会是什么? 怎样给客户更高质量的示例代码? 转载于:https://www.cnblogs.com/lifen/p/4290062.html 来源: https://blog.csdn.net/weixin_30407099/article/details/99501469