关于一次shell脚本的排错

今天写了一个shell监控的脚本主要通过shell 脚本结合zabbix 来监控keepalived的运行状态。
 
直接说脚本
脚本名字:
 check_keepalived.sh
 
#!/bin/bash
UNM=`ps -ef|grep keepalived|wc -l`
if [ $UNM -gt 2 ] ;then echo 1;else echo 0;fi
 
 
于是停止了keepalived进行测试,发现这个返回值是1, 
怎么会这样,刚开始我还以为我脚本写的有问题, 
但是检查了好几遍也没发现有问题啊。 
于是继续想办法问题是check_keepalived.sh 这个脚本名字的问题就是其中的这个keepalived惹的祸,于是修改脚本名称 check_keepalived.sh为check_keep.sh。问题解决了,希望大家不要像我一样经常犯这种错误。
时间: 2024-10-01 08:43:58

关于一次shell脚本的排错的相关文章

Shell脚本的书写规范与优秀的开发习惯

<--目录-->1)脚本模块名2)代码框架3)函数规范4)脚本存放规范5)补充规范19条6)优秀的开发习惯 [脚本模块名]1.常规Shell脚本使用统一后辍:.sh,例:wsyht.sh2.模块的启动和停止脚本统一命名为start_{模块名}.sh和sop_{模块名}.sh3.监控脚本可以*_mon.sh为后辍,控制脚本以*_ctl.sh为后辍4.模块(及其脚本和二进制程序)命名应该代表其特性和功能,不要使用个人名字缩写等形式命名5.模块中的脚本和二进制程序命名禁止和其它脚本和二进制程序重名

Shell脚本应用(一)

防伪码:但愿人长久,千里共婵娟 第五章 shell脚本应用(一) 温馨提示: 如果想提高shell脚本的编写速度,必须要熟练使用vi编辑器的各种快捷键 前言: 1.shell脚本的作用:可以批量处理.自动化完成一系列维护任务,大大减轻管理员的负担. 2.介于系统内核与用户之间,负责解释命令行,如图所示: 3.执行脚本文件的方法 a.脚本文件路径(必须有x权限) b.sh 脚本文件路径(必须有x权限) c.source 脚本文件路径(不要求有x权限) 4.交互式硬件设备     类型     设备

shell脚本应用(一)

1.编制我的第一个shell脚本 shell脚本是什么我来简单的说一下,shell脚本是linux系统中的一个特殊程序,他工作在操作系统内核与应用之间,充当了一个"命令解释器"的角色,负责接收用户输入的操作指令并进行解释,将需要执行的操作传递给内核执行,并输出结果. 我们来看看我自己的系统支持什么样的shell脚本种类 [[email protected] ~]# cat /etc/shells /bin/sh /bin/bash /sbin/nologin ........下边的用不

shell脚本基础知识

一.什么是shell 简单点理解,就是系统跟计算机硬件交互时使用的中间介质,它只是系统的一个工具.实际上,在shell和计算机硬件之间还有一层东西那就是系统内核了.打个比方,如果把计算机硬件比作一个人的躯体,而系统内核则是人的大脑,至于shell,把它比作人的五官似乎更加贴切些.回到计算机上来,用户直接面对的不是计算机硬件而是shell,用户把指令告诉shell,然后shell再传输给系统内核,接着内核再去支配计算机硬件去执行各种操作. 试验环境为linux发布版本(Redhat/CentOS)

shell脚本及正则表达式

shell脚本的编写及正则表达式: 一.shell脚本的基本: 1.首先shell脚本到底是什么? 1)纯文本文档--文件中所存储的数据都是以字符为单位进行存储的: 2)根据用户的需求来解决用户问题的大量命令的组合体 3)"执行幂等性"--任何命令多次执行的结果是一致的 注意:很多命令都不具备"执行幂等性",在shell脚本中就需要大量的程序逻辑来判断某个命令是否满足其运行条件,以避免在运行过程中出现严重错误. 2.脚本的基本代码内容: 1)首先我们可以利用文本编辑

Shell脚本基础(一)

前言:随着Linux系统在企业中的应用越来越多,服务器的自动化管理也越来越变得重要,在一些复杂的Linux维护工作中,大量的重复性的输出和交互式操作不但费时费力,而且容易出错,所以Shell脚本,可以批量处理,自动化完成一系列维护工作,大大减轻管理员的负担. 一,Shell脚本基础知识1,编写第一个shell脚本1),vim first.sh[[email protected] ~]# mkdir /shell //创建一个shell目录[[email protected] ~]# vim fi

NO.3 Shell脚本

编译型语言: 程序在执行之前需要一个专门的编译过程,把程序编译成 为机器语言文件,运行时不需要重新翻译,直接使用编译的结果就行了.程序执行效率高,依赖编译器,跨平台性差些.如C.C++ 解释型语言: 程序不需要编译,程序在运行时由解释器翻译成机器语言,每执 行一次都要翻译一次.因此效率比较低.比如Python/JavaScript/ Perl /ruby/Shell等都是解释型语言. 总结: 编译型语言比解释型语言速度较快,但是不如解释性语言跨平台性好.如果做底层开发或者大型应用程序或者操作系开

bash特性以及shell脚本简介

bash的特性之多命令执行的逻辑关系:1.命令替换COMMAND1 $(COMMAND2)2.管道COMMAND1 | COMMAND2 | COMMAND3 ...3.顺序执行结构COMMAND1 ; COMMAND2 ; COMMAND3 ...4.选择执行结构:如果...那么...要么...要么...逻辑运算:与:逻辑乘法,1--真,0--假,&&,双目操作符1 && 1 = 11 && 0 = 00 && 1 = 00 &&a

01 Shell脚本编程入门知识

Linux Shell语言使用背景  目前全球正处于“互联网+”的时代,各行各业都与互联网挂钩,比如互联网+教育.互联网+销售等等.几乎所有的商品.服务网上都能找得到,而支撑互联网的幕后支柱就是Linux系统.Linux运维技术成为IT技术人员的必备技能.  想要降低Linux运维成本就要进行运维自动化,进行自动化就需要脚本语言.时下Linux系统最流行的脚本语言就是Shell和Python.Python的流行时间短,学习成本高.而Shell几乎是所有运维公司都必须使用的自动化语言,在很多工作环