结构和流程如下:
1、if 语句有下面三种情况。
第一种,条件成立就做。不成立就不做。
if (条件)
endif
第二种,条件成立做“程序一”搭让兄,不成立做“程序二”。不管条件成不成立都做。
if (条件)
程序一
else
程序二
endif
第二种,嵌套条件语句。第一条件成立做“程序一”,不成立又进行条件二判断,条件二成立做“程序三”,条件二不成立做“程序四”。当然还可进行增加判断条件。视软件情况不同嵌套层级也不一样。
if (条件一)
程序一
else if (条件二)
程序二
else
程序三
endif
2、 switch语句。当switch后面的表达式的计算结果 与case 后滑正的值相同的就执行这个case语句后的程序,执行完成跳出。 break是跳出这个语句体的词句,有的编程语言一定要加的。 当表达式计算的值没有一个与 case 后面的值相同就执行default 后面语句。
switch (表达式)
{ case 3:
表达式等于3,执行的程序。
(break)
case 2:
表达式等于3,执行的程序。
(break)
case 1:
表达式等于3,执行的程序。
(break)
case 0:
表达式等于3,执行的程序。
(break)
default:
没有匹配的条件,执行的程序。知袭
}
if语句基本结构是这样:if <条件1>
then
语句1
elif <条件2>
语句2
elif <条件...>
语句...
else
语句n
fi
注意if语句中并无尖括号<>。用你的条件表达式来替换掉 <条件>这部分。
实际根据你的需要使用elif和else。因为Bash不同于C语言,他没有使用花竖搭括号来闭合一个作用域的写法。Bash的if语句闭合作用域使用的是 if 的“反语”——fi。
关于 then,if的条件后面都需要加一个保留字then。你也可以把它们写作同一行,但是需要注意的是要用分号来分隔,这些bash解释器才知道then不是if条件的一部分。否则会报错。
if <条件>
then
写法举例
test及 [ ]条件
输入一个数字,并判断是否小于100
#!/bin/bash
read -p "请输入一个数字:" a
if [ $a -lt 100 ]
then
echo "a<100"
else
echo "a>=100"
判断当前目录下一个文件是否存在,若存在判断是否为目录文件。 #!/bin/bash
read -p "请输入一个文件名:" name
if [ -e $name ]
then
echo -n "$name存在,"
if [ -d $name ]
then
echo "并且是一个目录"
else
echo "但不是一个目录"
fi
else
echo "$name不存在"
其他命令作为条件
判断当前环境中是否安装了某一命令。
#!/bin/bash
read -p "请输入一个命令:" var
if which $var>/dev/null
then
echo "$var存在"
else
echo "$var不存在"
if与逻辑表达式
与其他语言一样,Bash中的if同样可以和 与或非 组合使用。并且通过结合内部或外数掘部的命令一起使用,能够达到其他语余毕拿言达不到的效果。
比如:
if [ -e $filename ] &&rm $filename
then
echo "$filaname 不存在!"
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)