前置知识:awk 参考学习博客:https://www.cnblogs.com/bugingcode/p/8287914.html awk 'BEGIN{ commands } pattern{ commands } END{ commands }' 第一步:运行BEGIN{ commands }语句块中的语句. 第二步:从文件或标准输入(stdin)读取一行.然后运行pattern{ commands }语句块,它逐行扫描文件,从第一行到最后一行反复这个过程.直到文件所有被读取完成. 第三步:…
一.shell编写邮件报警脚本 1.POSTFIX邮件服务器准备 a.首先卸载服务器上自带的sendmail rpm -qa sendmail* //查看安装的sendmail rpm -e sendmail-8.***** //卸载 b.安装postfix(发邮件用的,25号端口)和dovecot(收邮件用的,110号端口) yum install postfix* dovecot* -y rpm -qa | grep postfix* rpm -qa | grep devecot* c.配置…
本篇中涉及到算术运算,使用了$[]这种我未在官方手册中见到的用法,但是确实可用的,在此前的博文<Bash脚本编程学习笔记03:算术运算>中我有说明不要使用,不过自己忘记了.大家还是尽量使用其他的方法进行算术运算. 简介 Bash具有三种循环结构: for循环. while循环. untile循环. 在使用循环结构体的时候,需要注意循环的进入条件和结束条件,避免出现死循环的情况. for循环 for循环又分为两种格式:遍历列表和控制变量. 遍历列表 for VAR in LIST; do BOD…
简介 在bash脚本编程中,条件结构体使用if语句和case语句两种句式. if语句 单分支if语句 if TEST; then CMD fi TEST:条件判断,多数情况下可使用test命令来实现,返回值为0的话则执行CMD,否则就离开该条件结构体,脚本继续往下执行. [root@c7-server ~]# cat test.sh #!/bin/bash if id zwl &> /dev/null; then echo "User zwl exists." fi [r…
官方资料:Shell Functions (Bash Reference Manual) 简介 正如我们在<Bash脚本编程学习笔记06:条件结构体>中最后所说的,我们应该把一些可能反复执行的代码块整合起来,避免反复编写使得代码过于臃肿. 函数正是为了解决这个问题而存在的.函数在定义时,可以将常用的代码整合为一个整体,当我们需要执行的时候,只需要调用这个函数即可. Bash是过程式编程语言,从上至下顺序执行代码,因此函数定义必须在函数调用之前完成. 函数属于shell的基础特性,即不仅仅是针对…
脚本使用说明: 首先在脚本的同级目录下有个 jdk的安装包 脚本和安装包必须在同级目录下才能够安装(脚本没有优化,还可以使用  wget  从网上下载指定版本的  jdk 安装包) #!/bin/sh ############################################## # # 安装Oracle jdk # Author:左岩 # Date: -- # ############################################## # 卸载系统原带的Open…
综合实例: 打印选择菜单,一键安装Web服务 [root@zuoyan   script]# sh menu.sh 1.[install  lamp] 2. [install lnmp] 3. [exit] 要求: 1.当用户输入1时,输出 “start installing lamp.” 然后执行 /server/script/lamp.sh, 脚本内容输出  " lamp is install " 后退出脚本 2.当用户输入2时,输出 "start installing…
条件表达式返回的结果都为布尔型 真为1,假为0 条件测试的表达式 [expression] 比较符 整数比较 -eq:比较两个整数是否相等,$A -eq $B -ne:测试两个整数是否不等,不等则为真,等则为假 -gt:大于为真,小于为假 -lt:小于为真,大于为假 -ge:大于或者等于 -le:小于或者等于 -e  File  测试文件是否存在 -f  File  测试文件是否是普通文件 -d  File 测试指定路径是否是目录 -r  File 测试文件是否有写的权限 -w  File 测试…
我自己接触Linux主要是大学学习的Turbolinux --> 根据<鸟哥的Linux私房菜:基础篇>(第三版) --> 马哥的就业班课程.给我的感觉是这些课程对于bash的讲解,理论上是不够的,但是限于时间.篇幅和精力,确实无法讲解的足够深入.在接触了骏马金龙的博客以及bash官方站点后,就会理解骏马兄说的“平常我们学的只是bash的形,而不是bash的神”.最近在写这个系列的学习笔记,经常查阅bash官方手册,真的是有种醍醐灌顶的感觉,但是限于能力和进度问题,有些问题暂且无法…
用户交互 在<学习笔记04>中我们有提到位置参数,位置参数是用来向脚本传递参数的一种方式.还有一种方式,是read命令. [root@c7-server ~]# read name alongdidi [root@c7-server ~]# echo $name alongdidi read命令可以实现从STDIN中读取数据存入用户指定的变量中. 可以多变量赋值. [root@c7-server ~]# read a b tom jerry [root@c7-server ~]# echo $…