shell编程学习笔记(八):Shell中的if条件判断

编程语言中都有条件判断,shell编程也不例外,下面咱们来看一下shell中应该怎么使用if条件判断shell

 

如下蓝色字体部分为Linux命令,红色字体的内容为输出的内容:编程

# cd /opt/scriptsvim

# vim script07.sh编程语言

开始编写script07.sh的脚本,脚本内容为:字体

#! /bin/sh
if [ 3 -gt 2 ]
then echo "3>2"
fi

if [ 3 -lt 2 ]
then echo "3<2"
else echo "3>2"
fi

上面的代码,注意if后面跟的条件是用中括号括起来的,注意括号和判断条件中间要有空格,否则会报错。spa

还要注意关键字部分都须要新起行,否则也会报错。code

条件的结束关键字比较特殊,用的是fi,恰好是把if反过来写。blog

关系运算符中-gt是指大于,-lt是指小于,下面是关系运算符的列表:ip

运算符 说明 举例
-eq 检测两个数是否相等,相等返回 true。 [ $a -eq $b ] 返回 false。
-ne 检测两个数是否不相等,不相等返回 true。 [ $a -ne $b ] 返回 true。
-gt 检测左边的数是否大于右边的,若是是,则返回 true。 [ $a -gt $b ] 返回 false。
-lt 检测左边的数是否小于右边的,若是是,则返回 true。 [ $a -lt $b ] 返回 true。
-ge 检测左边的数是否大于等于右边的,若是是,则返回 true。 [ $a -ge $b ] 返回 false。
-le 检测左边的数是否小于等于右边的,若是是,则返回 true。 [ $a -le $b ] 返回 true。

 

 

 

 

 

 

 

 

 

 

开始执行这个脚本:ci

# chmod +x script07.sh

# ./script07.sh

3>2

3>2

 

上面的代码,也常常会这么写:

#! /bin/sh
if [ 3 -gt 2 ]; then
echo "3>2"
fi

if [ 3 -lt 2 ]; then
echo "3<2"
else
echo "3>2"
fi

这两段代码的区别就是第二段代码会把if和then放到一行,分号是用来隔断每一个语法关键字或命令的,因此若是想把then关键字放到if同一行,就须要在then前添加分号

两段代码功能同样,我这里主要是演示一下分号的使用。

相关文章
相关标签/搜索