shell之if语句

类似一般的编程语言,shell中也有条件语句if。if语句有如下几种用法:

if ... fi
if ... else ... fi
if ... elif ... else ... fi

注意,if(elif)条件后需要接then关键字,else不用。

if .. fi语句

仅有一个条件时,使用此语句。如:

#!/bin/bash
name="Jim"
read you
if [ ${name} == ${you} ]
then
 echo "Hello, Jim"
fi

运行脚本,如果你输入的是Jim,则会输出Hello, Jim

if … else … fi语句

有一个条件,并且分别对成立和不成立进行分支程序,则使用该语句。如:

#!/bin/bash
name="Jim"
read you
if [ ${name} == ${you} ]
then
 echo "Hello, Jim"
else
 echo "Sorry, you are not Jim"
fi

运行脚本,如果输入的是Jim,则输出Hello, Jim,否则输出Sorry, you are not Jim

if … elif … else … fi语句

如果要分多个条件,则可以使用此语句。如:

#!/bin/bash
name="Jim"
name1="John"
read you
if [ ${name} == ${you} ]
then
 echo "Hello, ${name}"
elif [ ${name1} == ${you} ]
then
 echo "Hello, ${name1}"
else
 echo "Sorry, you are not Jim or John"
fi

运行结果请自行体会,此处不再说明。

if相关语句也常与test命令结合使用,此时会用到前面的布尔表达式。如:

#!/bin/bash
a=1
b=2
if test ${a} -eq ${b} 
then
 echo "a==b"
else
 echo "a!=b"
fi

运行结果:

a!=b

0 条评论
发表一条评论