LInux:循环语句

LInux:循环语句

if-else语句

复制代码
#### if 语句语法格式

```shell
if [ $a -gt $b ];
then 
    echo "a>b"
fi

if [ $a -gt $b ];
then 
    echo "a>b"
    echo "a!=b"
    echo "true"
fi
```

if-else语句

复制代码
#### if-else 语句语法格式

```shell
if [ $a -gt $b ];
then 
    echo "a>b"
else
    echo "a<=b"
fi

if [ $a -gt $b ];
then 
    echo "a>b"
    echo "a!=b"
    echo "true"
else
    echo "a<=b"
fi

if ((a>b));
then 
    echo "true"
    echo "a>b"
else
    echo "a<=b"
fi
```
复制代码
#### if else语法格式

```shell
if [ $a -gt $b ];
then 
    echo "a>b"
elif [$a -eq $b]
then
    echo "a=b"
else
    echo "a<b"
fi
```

for 循环

复制代码
#### for循环一般格式为

```shell
for m in 1 2 3 4;
do 
   echo "values is $m"
done

for n in This is a dong;
do 
   echo $n 
done
```

while 语句

复制代码
#### while 循环语法格式

```shell
int=5
while(($int>=2));
do 
   echo "$int"
   let "int--"
done

echo "按下CTRL+D退出"
echo "输入你喜欢的电影"
while read film;
do
   echo "${film} is ok"
done
```

无限循环

shell 复制代码
while True;
do
  echo "ok"
done

for ((::))

until循环

复制代码
#### until 循环执行一系列命令直至条件为 true 时停止

```shell
a=0
until [ ! $a -lt 10 ];
do
    echo $a
    a=$((a+1))
done
```

case ... esac

shell 复制代码
echo "输入1到4之间的数字"
read -p "数字:" num
case $num in 
    1) 
        echo '1'
    ;;
    2) 
        echo '2'
    ;;
    3) 
        echo '3'
    ;;
    4) 
        echo '4'
    ;;
esac   

s1='iambot'
case $s1 in
    'iambot') echo 'bot'
    ;;
    'iampm') echo 'pm'
    ;;
    'iampl') echo 'pl'
    ;;
esac 

跳出循环

复制代码
#### break 命令允许跳出所有循环

```shell
echo "welcome to Amusement park"
echo "please inter a number between 1-4"
while :
do
    read -p "please inter your number: " num
    case $num in
        1|2|3|4)
            echo "you choose 1-4 you are great"
            ;;
        *)
            echo "you choose others you are bad"
            break
            ;;
    esac
done
```
复制代码
#### continue 命令不会跳出所有循环,仅仅跳出当前循环。

```shell
echo "welcome to Amusement park"
echo "please inter a number between 1-4"
while :
do
    read -p "please inter your number: " num
    case $num in
        1|2|3|4)
            echo "you choose 1-4 you are great"
            ;;
        *)
            echo "you choose others you are bad"
            continue
            echo 'game over'
            ;;
    esac
done
#运行代码发现,当输入大于5的数字时,该例中的循环不会结束,语句 echo "游戏结束" 永远不会被执行。

```
相关推荐
谢尔登26 分钟前
简单聊聊webpack摇树的原理
运维·前端·webpack
只想安静的写会代码1 小时前
centos/ubuntu/redhat配置清华源/本地源
linux·运维·服务器
susu10830189111 小时前
ubuntu多块硬盘挂载到同一目录LVM方式
linux·运维·ubuntu
r***F2621 小时前
【漏洞复现】CVE-2019-11043(PHP远程代码执行漏洞)信息安全论文_含漏洞复现完整过程_含Linux环境go语言编译环境安装
linux·golang·php
smaller_maple3 小时前
linux问题记录1
linux·运维·服务器
一只侯子3 小时前
Face AE Tuning
图像处理·笔记·学习·算法·计算机视觉
报错小能手4 小时前
讲讲libevent底层机制
linux·服务器
烤麻辣烫4 小时前
黑马程序员大事件后端概览(表现效果升级版)
java·开发语言·学习·spring·intellij-idea
阿星智力囊5 小时前
Thinkphp6+nginx环境报错信息不显示,接口直接报500和CORS跨域(错误的引导方向),真坑啊
运维·nginx·php·thinkphp6
烤麻辣烫5 小时前
黑马程序员苍穹外卖(新手)DAY6
java·开发语言·学习·spring·intellij-idea