linux shell if判断数字大小,linux系统shell脚本比较方法及if判断语句

测试 判断 test

1、数字比较

>-gtgreater than大于

=-eqequal等于

>=-gegreater than or equal to 大于等于

<=-leless than or equal to小于等于

!=-neis not equal to 不等于

例子:

# test 1 -eq 1

# echo $?

0

# [ 1 -eq 10 ]

86b9e24448c591b49ad90f38aa26c009.png数字比较

2、字符串比较

abc abc

[ -n 'abc' ]判断字符串abc长度非0

[ -z 'abc' ]判断字符串长度为0

[ 'abc' = 'abc' ]判断两个字符串相等(一样)

[ 'abc' != 'abc' ]判断两个字符串不相等(不一样)

3、逻辑比较

与&&真真为真,真假为假,假假为假(均为真才为真,一个为假则为假)

或||真真为真,真假为真,假假为假(有一个为真则为真)

非!

例子:

# [ 1 -eq 1 ] && [ 'abc' = 'abc' ]

另外一种连接多个条件的语法# [ 1 -eq 1 -o 10 -lt 5 ]

# echo $?

0

# [ 1 -eq 1 ] && [ 'abc' != 'abc' ]

# echo $?

1

# [ 1 -eq 1 ] || [ 'abc' != 'abc' ] && [ 10 -gt 1 ]将&&符相连的条件看做一个整体,前面的1 -eq 1 条件变成一个或者个关系

5f0ebc306f5cec06b3476dd5471b084c.png逻辑比较

4、文件比较

[ -e a.txt ]判断文件a.txt存在

[ -d /opt/xxdir ]判断/opt/xxdir存在,并且是一个目录

[ -f /opt/a.txt ]判断/opt/a.txt存在,并且是一个普通文件

例子:

# [ -f ~/.bash_profile ]

# echo $?

0

98bfb930dc9274c5d44fad9010568e33.png文件比较,判断文件存在

判断语句

1、if ...then... 条件判断为真,然后执行命令

语法:

if [ 条件 ];then

command

fi

###if如果,条件判断结果为真,then那么执行command命令,fi表示判断语句结束。

2、if...then...else...如果条件判断为真,执行then后面的命令,否则else,执行else后的命令

if [ 条件 ];then

command

else

command

fi

###else,否则,表示前面条件判断为假的情况。

调试脚本:

sh -x if.sh 查看脚本执行的全过程

写个脚本,脚本运行后,首先让用户输入一个ip,然后脚本告知用户这个ip对应的机器是up的状态还是down的状态。

read读取用户的输入(ip),将输入赋值给变量IP

去ping $IP

c9b81e25cdf8e4400130f8a33bb76f26.png编写shell测试脚本

877836bbbc78fedfc3f884b38a5b31ea.png测试脚本

3、多条件判断

if ...then...elif...then...fi

if [ 条件 ];then

command

elif [ 条件 ];then

command

elif [ 条件 ];then

command

else

command

fi

例子:

4095ad44f7a24e437d7c3361607337f1.png脚本

232398db3eb8ea368acdad3442b7a4c9.png测试脚本

举报/反馈

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值