shell if判断

#!/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 ]

时间: 2024-10-14 21:32:02

shell if判断的相关文章

shell if判断(曾经被一个字符串相等的判断纠结半小时,最后只是if后少了个空格!) 和 awk引用外部变量判断

一.if判断 数字: $A=12 $B=15 if(("$A"<"$B")) if(("$A"=="$B")) 字符串: $A="HELLO" $B="WORLD" if [ "$A" = "FACT_LOGIN_USER" ] if [ "$A" = "$B" ] PS:字符串比较的时候注意 'if'

Shell 条件判断

传统if 从句子——以条件表达式作为 if条件 if [ 条件表达式 ] then command command command else command command fi       条件表达式 文件表达式 if [ -f  file ]    如果文件存在 if [ -d ...   ]    如果目录存在 if [ -s file  ]    如果文件存在且非空 if [ -r file  ]    如果文件存在且可读 if [ -w file  ]    如果文件存在且可写 if

shell bash判断文件或文件夹是否存在

shell bash判断文件或文件夹是否存在 1, #如果文件夹不存在,创建文件夹 folder="log" if [ ! -d "${folder}" ]; then mkdir ${folder} fi 2.判断文件是否存在 file="/var/www/log.txt" # -f 参数判断 $file 是否存在 if [ ! -f "$file" ]; then touch "$file" fi. 3

在Shell里面判断字符串是否为空

在Shell里面判断字符串是否为空 分类: Linux shell2011-12-28 23:18 15371人阅读 评论(0) 收藏 举报 shell 主要有以下几种方法: echo “$str”|awk '{print length($0)}'expr length “$str”echo “$str”|wc -c但是第三种得出的值会多1,可能是把结束符也计算在内了 判断字符串为空的方法有三种:if [ "$str" =  "" ] if [ x"$st

Makefile中怎么使用Shell if判断

/********************************************************************* * Makefile中怎么使用Shell if判断 * 说明: * 譬如可能会在Makfile中需要判断文件.文件夹的存在,使用shell语法 * 输出一些信息,等等. * * 2017-8-21 深圳 龙华樟坑村 曾剑锋 *******************************************************************

shell中判断文件或目录是否存在

可以通过man test来查看文档,下面的文章转自http://m.blog.csdn.net/blog/yuanjungogogo/9222875 #!/bin/sh myPath="/var/log/httpd/" myFile="/var /log/httpd/access.log" # 这里的-x 参数判断$myPath是否存在并且是否具有可执行权限 if [ ! -x "$myPath"]; then mkdir "$myPa

Linux shell脚本判断服务器网络是否可以上网

Linux shell脚本判断网络畅通 介绍 在编写shell脚本时,有的功能需要确保服务器网络是可以上网才可以往下执行,那么此时就需要有个函数来判断服务器网络状态 我们可以通过curl来访问 www.baidu.com,从而判断服务器网络状态是否可以畅通的 网络状态判断 #!/bin/bash #检测网络链接畅通 function network() { #超时时间 local timeout=1 #目标网站 local target=www.baidu.com #获取响应状态码 local

shell条件判断

条件判断式 只要讲到程序的话,那么条件判断式,亦即是if then这种判别式肯定一定要学习的,另外一种是case...esac if....then 这个是if...then 是最常见的条件判断式了,它分为单分支条件判断式,双分支条件判断式,多分支条件判断式 单分支条件判断语句: if [ 条件判断式 ] then 输出内容 fi 双分支条件判断式: if [ 条件判断式 ] then 输出内容 else 输出内容 fi 多分支条件判断式 if [ 条件判断式 ] then 输出内容 elif

shell 的判断与比较

1  shell 的$! ,$?, $$,[email protected] $n        $1 the first parameter,$2 the second... $#        The number of command-line parameters. $0        The name of current program. $?        Last command or function's return value. $$        The program'

Shell脚本判断IP是否合法性

运维角度来说,写shell脚本经常会遇到判断输入的值是否合法,比如IP.邮件地址等.那么,根据自身写脚本中总结的判断IP合法性脚本分享给网友,遇到时能有所参考. 思路:IP由四位数字组成,以点分割,每个字段不能大于255,必须符合这种格式 方法1: function check_ip() {     IP=$1     VALID_CHECK=$(echo $IP|awk -F. '$1<=255&&$2<=255&&$3<=255&&$4