在 if 语句里面,你可以使用另外一个 if 语句.只要你能逻辑管理 你就可以使用多层嵌套. 以下是一个测试闰年的例子: #!/bin/bash # This script will test if we're in a leap year or not. year=`date +%Y` if [ $[$year % 400] -eq "0" ]; then      echo "This is a leap year.  February has 29 days."…
概述 看多shell脚本实例自然就会有shell脚本的编写思路了,所以我一般比较推荐看脚本实例来练习shell脚本.下面分享几个shell脚本实例. 1.监测Nginx访问日志502情况,并做相应动作 假设服务器环境为lnmp,近期访问经常出现502现象,且502错误在重启php-fpm服务后消失,因此需要编写监控脚本,一旦出现502,则自动重启php-fpm服务. #场景:#1.访问日志文件的路径:/data/log/access.log#2.脚本死循环,每10秒检测一次,10秒的日志条数为3…
常见的if语句shell脚本 author :headsen  chen  2017-10-17  15:00:07 1,cat if.sh 2, cat  if2.sh…
目录 一.条件测试 test 格式 文件测试 文件测试常见选项 整数值比较 字符串比较 浮点数的运算 逻辑测试 二.if语句 1单分支 2双分支结构 3多分支结构 三元运算符 三.case 一.条件测试 shell 进行条件判断的两种方式 test 格式 test [操作符选项] 表达式 [ 操作符选项 表达式 ] 两边要有空格 测试特定的表达式是否成立,当条件成立,测试语句的返回值为0,否则为其他数值 boole true(真) false(假) 返回码 0 非0 linux系统 shell脚…
在实际工作中,需要对shell脚本进行正确性测试. 如何用最快最有效的方式进行测试? 很多开发的习惯是,二话不说,写完/拿到,就跑一把,看看输入,输出,想要的操作是否完成,也就过了. 其实这是十分不严谨的,若是未经过QA,风险还是相当大的. 以下即shell脚本测试流程,仅供参考 1.代码走读: 写完,或者拿到一个shell脚本,不必急于运行,虽然实践是检验整理的唯一标准,但是,在读代码这个过程中,可以规避很多低级的bug. 读什么? A.代码逻辑,这个脚本用来做什么,主要分为多少步,分别做了什…
一. 什么是shell 脚本时一种解释性语言: shell脚本保存执行动作: 脚本判定命令的执行条件 脚本来实现动作的批量执行.二.如何创建 vim  test.sh     ##shell脚本一般都是以.sh结尾三.执行方法  1.sh  test.sh              ##不执行开头的的命令  2.chmod +x  test.sh    /mnt/test.sh             ##执行的时候会先执行以#开头的第一句 四.脚本的调示  sh  -x  test.sh  …
概述 读书百遍其义自见,shell脚本也是,只要例子看得多了,自然就知道怎么写了.这里主要整理了20几个例子,因为内容比较多,所以分了几次来做介绍了.下面的实例最好先自己思考怎么去实现,然后再看下实现的方式,答案不是标准的,也存在一些可以继续完善的地方. 1.文件以日期命名,并写入磁盘使用情况 #!/bin/bash ##################################################文件以日期命名,并写入磁盘使用情况#######################…
shell脚本监控网站并实现邮件.短信报警shell进程监控脚本(发送邮件报警)Shell脚本监控服务器在线状态和邮件报警的方法 http://www.jbxue.com/jb/shell/ 11. #!/bin/bash a="/tmp/test.log" while [[ -f $a ]]; do sleep 1; size=`ls -lrt $a | cut -d " " -f 5` echo $size if [ $size -ge 1024 ]; then…
备注:一些与传递给shell的参数相关的变量:$# 命令行参数的个数$? 调用命令的返回值$$ 当前进程的进程号$! 最后一个后台命令的进程号$0 命令行的第一个参数,也就是命令名$n 命令行的第n个参数,如果要取超过9个参数${n}$* 所有的命令行参数,等于("$1 $2...""$@" 所有的命令行参数,等于("$1" "$2"...)$_ 前一个命令的最后一个命令行参数   1.     写一个脚本,利用循环计算10的…
shell脚本能帮我们简化linux下的一些工作,现在有个需求,把TMPA文件夹下大于2000B的文件都移动到TMPB下 #! /bin/bash function movefiles() { ` do ] then mv $"/"$file fi done } movefiles "/home/jimmyxu/TMPA" "/home/jimmyxu/TMPB" 脚本很简单,使用for循环遍历第一个输入路径下的文件,使用stat获取文件的属性值…