- 格式1:if 条件 ; then 语句; fi 命令行写法1:
[root@lijie-01 ~]# a=5
[root@lijie-01 ~]# if [ $a -gt 3 ] //这里的$a表示取a的值,gt是great than表示大于的意思,小于用lt表示,即less than
> then
> echo ok
> fi
ok
[root@lijie-01 ~]#
命令行写法2:
[root@lijie-01 ~]# a=5
[root@lijie-01 ~]# if [ $a -gt 3 ]; then echo ok; fi
ok
[root@lijie-01 ~]#
脚本写法3(这种写法是以后常用的):
[root@lijie-01 ~]# cat ifi.sh
#!/bin/bash
a=5
if [ $a -gt 3 ]
then
echo ok
fi
[root@lijie-01 ~]# sh ifi.sh
ok
- 格式2:if 条件; then 语句; else 语句; fi
[root@lijie-01 ~]# cat ifi2.sh
#!/bin/bash
a=1
if [ $a -gt 3 ]
then
echo ok
else
echo nook
fi
[root@lijie-01 ~]# sh ifi2.sh
nook
- 格式3:if …; then … ;elif …; then …; else …; fi
我们写如下一个脚本
[root@lijie-01 ~]# cat ifi2.sh
#!/bin/bash
a=1
if [ $a -gt 3 ]
then
echo ok
else
echo nook
fi
[root@lijie-01 ~]#
查看执行过程
- 逻辑判断表达式:if [ $a -gt $b ]; if [ $a -lt 5 ]; if [ $b -eq 10 ]等 -gt (>); -lt(<); -ge(>=); -le(<=);-eq(==); -ne(!=) 注意到处都是空格
gt 表示大于 great than
lt 表示小于 less than
eq 表示等于 equal
ne 表示不等于no equal
上面我们使用的是gt lt eq等字符来表示大于、小于,等于;其实我们也可以使用> < = >=来表示,只不过需要用两层括号,如下:
[root@lijie-01 ~]# a=5
[root@lijie-01 ~]# if (($a>1));then echo ok; fi
ok
[root@lijie-01 ~]#
- 可以使用 && || 结合多个条件
- if [ $a -gt 5 ] && [ $a -lt 10 ]; then
- if [ $b -gt 5 ] || [ $b -lt 3 ]; then