「4月日新计划更文活动」
if 语句
if是一个常见的条件语句,在正常的使用中我们都会见到- 用途:可以使用它们来测试变量,文件及其状态
if [ expression ]; then
# 当表达式为真时执行的代码
fi
参数说明:
expression是一个条件表达式,如果表达式为True,则执行then后面的命令,否则就跳过该命令执行脚本中其他指令,then子句后面可以跟随多条语句
#! /bin/sh
# 判断 /bin/bash 是否是一个常规文件
if [ -f /bin/bash ];
then echo "/bin/bash is a file"
fi
## 判断文件是否创建成功
echo "hello,ok !" >message.txt
if [ -f ./message.txt ]; then echo "file has been created."; fi
注意点:
- 最后必须以
fi作为闭合,fi就是if倒过来的拼写,由于Shell没有提供大括号{}来表示代码块,所以需要使用fi关键字来表示if结构的结束 expression表达式后需要加上一个分号,分号的作用是表示if子句已经结束,后面的代码是then子句- 在Shell程序中,如果想要将多条命令放在同一行中,则需要使用分号将其隔开
特殊用法
- 在Shell中,还有一个特殊的命令,称为空命令,其表示方法是一个冒号“
:”,该命令不做任何事情,但是它的退出状态永远是0
if :; then echo "always true"; fi
if else 语句
if [ expression ]; then
# 当表达式为真时执行的代码
else
# 当表达式为假时执行的代码
fi
expression表示if语句的执行条件,可以是条件表达式或者一个Shell命令。如果expression的值为真,则执行then子句中的语句,如果为假,则执行else子句中的语句,最后通过fi关键词结束整个fi代码块。
if elif语句
if expression1
then
statement1
statement2
…
elif expression2
then
statement3
statement4
else
statementn
..
fi
expression1表示整个if elfi语句结构中的第1个条件表达式,如果该条件表达式的值为真,则执行第1个then子句中的语句statement1及statement2等;否则,继续下面的判断。如果表达式expression2的值为真,则执行第2个then子句中的语句,如果所有的条件表达式的值都为假,则执行最后的else子句中的语句。最后是if elif结构的结束标志fi。