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

```
相关推荐
GalaxyPokemon2 分钟前
Muduo网络库实现 [十] - EventLoopThreadPool模块
linux·服务器·网络·c++
齐尹秦2 分钟前
HTML 音频(Audio)学习笔记
学习
自由鬼8 分钟前
开源虚拟化管理平台Proxmox VE部署超融合
linux·运维·服务器·开源·虚拟化·pve
瞌睡不来23 分钟前
(学习总结32)Linux 基础 IO
linux·学习·io
Moonnnn.28 分钟前
运算放大器(四)滤波电路(滤波器)
笔记·学习·硬件工程
inquisiter40 分钟前
UEFI镜像结构布局
linux·spring
孤独得猿1 小时前
Qt常用控件第一部分
服务器·开发语言·qt
吴梓穆1 小时前
UE5学习笔记 FPS游戏制作37 蓝图函数库 自己定义公共方法
笔记·学习·ue5
吴梓穆1 小时前
UE5学习笔记 FPS游戏制作41 世界模式显示UI
笔记·学习·ue5
不爱吃鱼的猫-1 小时前
Node.js 安装与配置全攻略:从入门到高效开发
服务器·node.js