一个shell for循环与case结合的脚本(监控程序状态)
核心代码:
#/bin/bash
set -x
HOSTS="nginx mysql php-cgi"
for myhost in $HOSTS
do
count=(`ps aux |grep $myhost |grep -v grep |wc -l`)
echo "$myhost"
echo "$count"
if [ $count -eq 0 ]; then
case $myhost in
nginx)
cd /usr/local/webserver/nginx/sbin/
./nginx
echo "nginx has be down"
sleep 5
mysql)
/etc/init.d/mysqld start
echo "mysql has be down"
*)
echo "what‘s the hell?"
esac
fi
done
set +x
相关推荐
-
shell脚本中case条件控制语句的一个bug分析
在shell脚本中,发现case语句的一个问题.就是指定小写字母[a-z]和大写字母[A-Z]的这种方法不管用了. 出现如下情况: 复制代码 代码如下: [root@station1 ~]# cat case.sh#!/bin/bashwhile :doecho -n "input a letter: "read varcase "$var" in [a-z]) echo "Lowercase letter";; [A-Z]) echo &q
-
shell中case的用法学习笔记
shell中的case语句: 可以把变量的内容与多个模板进行匹配,再根据成功匹配的模板去决定应该执行哪部分代码. 使用格式:case 匹配母板 in模板1 [ | 模板2 ] - ) 语句组 ;;模板3 [ | 模板4 ] - ) 语句组 ;;esaccase语句的匹配是从上往下地匹配顺序.因此,case语句编写的原则是从上往下,模板从特殊到普通.在C语言里,case语句中有default模板,而在shell程序设计中,可能将模板写成*,就可以完成相同的功能. 例1: 复制代码 代码如下: #!
-
linux bash shell中case语句的实例
bash case语句的例子. 分享一段bash shell代码,对于学习bash的同学理解case语句的用法,会有帮助. 例子: 复制代码 代码如下: #!/bin/bash### Program:# File operation# 1.) Open file 2.) Display file 3.) Edit file 4.) Delete file# site: WWW.JB51.NETPATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/u
-
一个shell for循环与case结合的脚本(监控程序状态)
核心代码: 复制代码 代码如下: #/bin/bashset -xHOSTS="nginx mysql php-cgi"for myhost in $HOSTS do count=(`ps aux |grep $myhost |grep -v grep |wc -l`) echo "$myhost" echo "$count" if [ $count -eq 0 ]; then case $myhost in nginx) cd
-
thinkPHP模板中for循环与switch语句用法示例
本文实例讲述了thinkPHP模板中for循环与switch语句用法.分享给大家供大家参考,具体如下: 1.for用法 <for start="开始值" end="结束值" comparison="" step="步进值" name="循环变量名" > </for> 案例 <for start="1" end="100"> {$i}
-
java List循环与Map循环的总结
java List循环与Map循环的总结 做了一下list和map的总结,没有什么技术含量,就全当复习了一下api. 测试环境是在junit4下,如果没有自己写一个main方法也是一样的. 首先是List的三种循环: @Test public void ForListTest() { List<String> list = new ArrayList<String>(); list.add("1"); list.add("2"); list
-
详谈js中标准for循环与foreach(for in)的区别
js中遍历数组的有两种方式 var array=['a'] //标准的for循环 for(var i=1;i<array.length;i++){ alert(array[i]) } //foreach循环 for(var i in array){ alert(array[i]) } 正常情况下上面两种遍历数组的方式结果一样.首先说两者的第一个区别 标准的for循环中的i是number类型,表示的是数组的下标,但是foreach循环中的i表示的是数组的key是string类型,因为js中一切皆为
-
Python for循环与range函数的使用详解
for 循环 For - in 语句是另一种循环语句,其特点是会在一系列对象上进行迭代(Iterates),即它会遍历序列中的每一个项目 注意: 1.else 部分是可选的.当循环中包含它时,它循环中包含它时,它总会在 for 循环结束后开始执行,除非程序遇到了 break 语句. 2.for - in 能在任何队列中工作.有的是通过内置 range 函数生成一串数字列表,也可以是包含任何类型对象的队列. Eg.数字列表 for i in range(1,5): print(i) else: p
-
浏览器事件循环与vue nextTicket的实现
同步:就是在执行栈中(主线程)执行的代码 异步:就是在异步队列(macroTask.microTask)中的代码 简单理解区别就是:异步是需要延迟执行的代码 线程和进程 进程:进程是应用程序的执行实例,每一个进程都是由私有的虚拟地址空间.代码.数据和其它系统资源所组成:进程在运行过程中能够申请创建和使用系统资源(如独立的内存区域等),这些资源也会随着进程的终止而被销毁 线程:线程则是进程内的一个独立执行单元,在不同的线程之间是可以共享进程资源的,是进程内可以调度的实体.比进程更小的独立运行的基本
-
Python for循环与getitem的关系详解
这篇文章主要介绍了Python for循环与getitem的关系详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一个类里面如果由__iter__for循环就是找它取,没有的话就会找__getitem__ 前面一笔看过没有留心具体的执行情况. In [169]: class Foo: ...: def __getitem__(self, pos): ...: print(pos) ...: return range(10)[pos] ...:
-
C++中for循环与while循环的区别总结
C++中for循环和while循环的区别 这两者之间最大的区别就是for循环一般应用于循环次数已知的情况,而while循环一般应用于循环次数未知的情况.在一般情况下,这两者是可以相互转化的. 举一个简单的例子:求1-100的和. #include<bits/stdc++.h> using namespace std; int main(){ int sum=0; for(int i=1;i<=100;i++){ sum+=i; } cout<<sum; } 这个就是一个应用f
-
Python基础 while循环与break、continue关键字
目录 1. while循环语法结构 2. +=和-=用做退出条件 2.1 +=用做退出条件 2.2 -=用做退出条件 3. break和continue关键字 3.1 用一个案例,说明两者的区别 3.2 continue结合for循环和while循环使用 3.3 break结合for循环和while循环使用 前言: Python中for循环和while循环本质上是没有区别的,但是在实际应用上,针对性不太一样. for循环,主要应用在遍历中,体现的是遍历二字: while循环,主要用于判断符合条件
-
java List循环与Map循环的总结
java List循环与Map循环的总结 做了一下list和map的总结,没有什么技术含量,就全当复习了一下api. 测试环境是在junit4下,如果没有自己写一个main方法也是一样的. 首先是List的三种循环: @Test public void ForListTest() { List<String> list = new ArrayList<String>(); list.add("1"); list.add("2"); list
随机推荐
- set /p= 命令使用详解
- PowerShell入门教程之PowerShell管道介绍
- Shell脚本实现的基于SVN的代码提交量统计工具
- PHP+MySql+jQuery实现的"顶"和"踩"投票功能
- Dreamweaver 在onLoad运行***,发生了一个JavaScript错误
- vbs 批量修改文件,bat 批处理文件调用执行vbs,并在cmd窗口打印返回值(vbs运行结果)
- 在Windows与Linux下禁止被ping的设置方法[推荐]
- serv-U FTP软件的攻击防守修改教程[图文]
- java设计模式学习之策略模式
- EDI中JAVA通过FTP工具实现文件上传下载实例
- 为JavaScript提供睡眠功能(sleep) 自编译JS引擎
- 深入理解Python中的元类(metaclass)
- JavaScript 开发中规范性的一点感想
- ASP.NET ASHX中获得Session的方法
- 浅谈Ajax技术实现页面无刷新
- 使用jquery.qrcode.js生成二维码插件
- C语言编程中实现二分查找的简单入门实例
- struts2 中文乱码的解决办法分享
- JS动态创建Table,Tr,Td并赋值的具体实现
- 探讨C语言中关键字volatile的含义