Shell(if语法的使用)

Posted 恩有一原

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Shell(if语法的使用)相关的知识,希望对你有一定的参考价值。

1.语法一:单if语句

适用范围:只需要一步判断,条件返回真干什么或者条件返回假干什么

语句格式

if [ condition ]   #condition值为true or false
then
commands
fi

该语句翻译成汉语大意如下:

假如  条件为真
那么
执行commands代码块
结束

演示:假如在tmp下没有abc这个文件夹,那么就创建一个,创建完成显示“OK”

#!/bin/bash
if [ ! -d tmp/abc ]
then
mkdir -v /tmp/abc
echo "ok"
fi

2.语法二:if-then-else语句

适用范围:两步判断,条件为真干什么,条件为假干什么

if [ condition ]
then
commands1
else
commands2
fi

该语句翻译成汉语大意如下:

假如条件为真
那么
执行commands1代码块
否则
执行commands2代码块
结束

演示:登陆用户是root,输出“hello,admin”;登陆是普通用户,输出“hello,guest”

#!/bin/bash
if [ $USER = root ]
then
echo "hello,admin"
else
echo "hello,guest"
fi

3.语法三:if-then-elif语句

适用范围:多于两个以上的判断结果,也就是多于一个以上的判断条件

if [ condition1 ]
then
commands1
elif [ condition2 ]
then
commands2
......
else
commandsx
fi

该语句翻译成汉语大意如下:

假如  条件1  为真
那么
执行代码块1
假如 条件2 为真
那么
执行代码块2
以此类推的N个条件以及对应执行代码块
否则 [以上所有条件中没有满足的]
执行代码块x
结束

演示:判断两个整数的关系

嵌套:

#!/bin/bash
if [ $1 -eq $2 ]
then
echo "$1 = $2"
else
if [ $1 -gt $2 ]
then
echo "$1 > $2"
else
echo "$1 < $2"
fi
fi

Shell(if语法的使用)_bash

if多步运算判断:

#!/bin/bash
if [ $1 -gt $2 ]
then
echo "$1>$2"
elif [ $1 -eq $2 ]
then
echo "$1=$2"
else
echo "$1<$2"
fi

Shell(if语法的使用)_bash_02

4.fi高级应用

使用双小圆括号,可以植入数学表达式

#!/bin/bash
if (( 100%3+1>1 ));then
echo "yse"
else
echo "no"
fi

Shell(if语法的使用)_bash_03

以上是关于Shell(if语法的使用)的主要内容,如果未能解决你的问题,请参考以下文章

shell基本语法

008-Shell 流程控制

shell流程控制

Shell 中 if 语句的使用

Linux Shell编程 条件判断语法

shell条件判断 if else