#!/bin/sh


/etc/init.d/snmpd start  && > /dev/null

pid=`/etc/init.d/snmpd status| grep pid` #`/etc/init.d/mysqld status| grep "not running"用status状态查看服务的状态是否正常

if [ "$pid" == "" ]; then #判断grep的关键词是否为空

   echo "snmp  error";

else

   echo "snmp is ok";

fi



#mysql进程是否存在

#!/bin/sh


pid=`/etc/init.d/mysqld status| grep "not running"`

if [ "$pid" == "" ]; then

   echo "mysql ok";

else

   echo "$pid"

   service mysqld start


UNIX Shell 里面比较字符写法:

  • -eq   等于

  • -ne    不等于

  • -gt    大于

  • -lt    小于

  • -le    小于等于

  • -ge   大于等于

  • -z    空串

  • =     两个字符相等

  • !=    两个字符不等

  • -n    非空串

总结:

文档比较运算符  
-e filename  假如 filename存在,则为真  [ -e /var/log/syslog ] 
-d filename  假如 filename为目录,则为真  [ -d /tmp/mydir ] 
-f filename  假如 filename为常规文档,则为真  [ -f /usr/bin/grep ] 
-L filename  假如 filename为符号链接,则为真  [ -L /usr/bin/grep ] 
-r filename  假如 filename可读,则为真  [ -r /var/log/syslog ] 
-w filename  假如 filename可写,则为真  [ -w /var/mytmp.txt ] 
-x filename  假如 filename可执行,则为真  [ -L /usr/bin/grep ] 
filename1-nt filename2  假如 filename1比 filename2新,则为真  [ /tmp/install/etc/services -nt /etc/services ] 
filename1-ot filename2  假如 filename1比 filename2旧,则为真  [ /boot/bzImage -ot arch/i386/boot/bzImage ] 
字符串比较运算符 (请注意引号的使用,这是防止空格扰乱代码的好方法)  
-z string  假如 string长度为零,则为真  [ -z "$myvar" ] 
-n string  假如 string长度非零,则为真  [ -n "$myvar" ] 
string1= string2  假如 string1和 string2相同,则为真  [ "$myvar" = "one two three" ] 
string1!= string2  假如 string1和 string2不同,则为真  [ "$myvar" != "one two three" ] 
算术比较运算符  
num1-eq num2  等于 [ 3 -eq $mynum ] 
num1-ne num2  不等于 [ 3 -ne $mynum ] 
num1-lt num2  小于 [ 3 -lt $mynum ] 
num1-le num2  小于或等于 [ 3 -le $mynum ] 
num1-gt num2  大于 [ 3 -gt $mynum ] 
num1-ge num2  大于或等于 [ 3 -ge $mynum ]