linux之Shell编程--Shell流程控制语句实例演示

Posted 菠萝印象威

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux之Shell编程--Shell流程控制语句实例演示相关的知识,希望对你有一定的参考价值。

一.Shell流程控制语句之if else…fi

和其它编程语言相同的是,Shell也有流程控制语句,包括(if else 、while、case、continue、for等等),但是,具体的格式却有着很大的不同。

实例演示if else…fi语句
在这里插入图片描述

#!/bin/bash
a=10
if [ $a == 10 ];then
        echo "a=10"
else
        echo "a!=10"
fi

结果:
在这里插入图片描述
看过我之前文章的人肯定对这个非常熟悉,因为,我的实例演示有很多if else…fi的流程控制语句。
但是,这个语句也有很多需要注意的地方。

注意:
1.if语句内容外部使用[]表示,且,if和[]之间有空格,[]内部的内容也要和[]有空格,变量和运算符之间也要有空格隔开,比如if [ $a == 10 ]。
2.if语句必须要有then,可以一行写,中间使用;隔开,也可以换行写。
错误示范:
在这里插入图片描述

结果:
在这里插入图片描述
3.语句结束的末尾使用fi表示结束符。
错误示范:
在这里插入图片描述

结果:
在这里插入图片描述

if else…fi语句就介绍到这里,虽然很常见,但是有很多容易忽略的错误。

二.if else-if else

和其它语言不同的是,Shell中的大于或等于三个判断条件的语句使用的是 if elif else
实例演示
在这里插入图片描述

#!/bin/bash
b=10
if [ $b == 1 ];then
        echo "b=1"
elif [ $b == 10 ];then
        echo "b=10"
elif [ $b == 3 ];then
        echo "b=3"
else
        echo "b=?"
fi

结果:
在这里插入图片描述
当然,也可以省略最后一个else,不会报错。
在这里插入图片描述

结果:
在这里插入图片描述

三.for循环

实例演示
在这里插入图片描述

#!/bin/bash
for loop in 1 2 3 4 5
do
    echo "The value is: $loop"
done

array=(1 2 3 a)
for i in ${array[*]}
do
   echo "The value is: $i"
done

for str in Hello World
do
    echo $str
done

结果:
在这里插入图片描述
只要记住for循环的格式就行了
for i in 数组或者item1 item2…
do

done

四.while循环

在这里插入图片描述

#!/bin/bash
i=10
while(( $i>5  ))
do
    echo $i
    let "i--"
done

结果:
在这里插入图片描述

注意
可以使用let "变量"对变量进行操作。

以上是关于linux之Shell编程--Shell流程控制语句实例演示的主要内容,如果未能解决你的问题,请参考以下文章

linux12shell编程 -->流程控制之case

linux12shell编程 --> 流程控制之select语句

linux12shell编程 -->流程控制之for循环1

linux12shell编程 -->流程控制之while循环

linux12shell编程 -->流程控制之for循环2

shell编程之常用判断条件流程控制IFcaseforWHILE循环read读取控制台输入函数basenamedirname以及自定义函数