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 "游戏结束" 永远不会被执行。

```
相关推荐
厦门辰迈智慧科技有限公司19 小时前
水闸自动化监控系统解决方案
运维·服务器·物联网·安全·自动化·监测
zzZ656519 小时前
支持向量机(SVM)学习报告
学习·机器学习·支持向量机
Nuyoah11klay20 小时前
华清远见25072班网络编程day1
linux·服务器·网络·网络编程
努力学习的小廉20 小时前
深入了解linux系统—— 日志
linux·运维·服务器
qinyia1 天前
Wisdom SSH 是一款创新性工具,通过集成 AI 助手,为服务器性能优化带来极大便利。
服务器·人工智能·ssh
MilesShi1 天前
从 scheduler_tick 到上下文切换:深入解析 Linux 内核的 TIF_NEED_RESCHED 标志设置流程
linux·运维·单片机
方渐鸿1 天前
【2024】k8s集群 图文详细 部署安装使用(两万字)
java·运维·容器·kubernetes·k8s·运维开发·持续部署
晓衣1 天前
2025“獬豸杯”全国电子数据取证竞赛-k8s服务器取证wp
服务器·经验分享·程序人生·网络安全·容器·kubernetes·学习方法
我爱云计算1 天前
K8S详解(5万字详细教程)
linux·运维·云原生·容器·kubernetes
明明跟你说过1 天前
【k8s】资源限制管理:Namespace、Deployment与Pod的实践
运维·docker·云原生·容器·kubernetes·k8s