当前位置: 首页 > article >正文

Linux Shell编程(八)

目录

 

Case语句

1--case格式

2--case使用案例:输入不容的数字,给出不同的结果

跳出循环

1--break

案例:执行十次时,跳出当前循环

完整流程

 

2--continue

案例:跳过2,4 输出

完整流程


 

Case语句

1--case格式

case 变量值 in

        值1)

                context

                ;;

        值2)

                context

                ;;

        值3)

                context

                ;;

        值4)

                context

                ;;

        值5)

                context

                ;;

esac

2--case使用案例:输入不容的数字,给出不同的结果

cases.sh文件中的内容

# case 使用

echo "输入1 到 4 之间的数字"

read inputNum

case $inputNum in
        1) echo "你选择了数字1"
        ;;
        2) echo "你选择了数字2"
        ;;
        3) echo "你选择了数字3"
        ;;
        4) echo "你选择了数字4"
        ;;
        *) echo "你没有选择合理范围内的数字" 
        ;;

esac

完整流程

[xijiu@localhost ~]$ vi cases.sh
[xijiu@localhost ~]$ cat cases.sh 
# case 使用

echo "输入1 到 4 之间的数字"

read inputNum

case $inputNum in 
    1) echo "你选择了数字1"
    ;;
    2) echo "你选择了数字2"
    ;;
    3) echo "你选择了数字3"
    ;;
    4) echo "你选择了数字4"
    ;;
    *) echo "你没有选择合理范围内的数字" 
    ;;

esac
[xijiu@localhost ~]$ sh cases.sh 
输入1 到 4 之间的数字
3
你选择了数字3
[xijiu@localhost ~]$ sh cases.sh 
输入1 到 4 之间的数字
5
你没有选择合理范围内的数字
[xijiu@localhost ~]$ sh cases.sh 
输入1 到 4 之间的数字
a
你没有选择合理范围内的数字
[xijiu@localhost ~]$ sh cases.sh 
输入1 到 4 之间的数字
1
你选择了数字1
[xijiu@localhost ~]$ sh cases.sh 
输入1 到 4 之间的数字
4
你选择了数字4
[xijiu@localhost ~]$ sh cases.sh 
输入1 到 4 之间的数字
2
你选择了数字2
[xijiu@localhost ~]$ 

跳出循环

1--break

break 是跳出当前整个循环

案例:执行十次时,跳出当前循环

# break 跳出当前循环

num=1

while true ; do

        if [ $num -ge 10  ] ; then
                break;
        fi
        echo $num;
        (( num++ ));
done

 

完整流程

[xijiu@localhost ~]$ vi breakE.sh 
[xijiu@localhost ~]$ cat breakE.sh 
# break 跳出当前循环

num=1

while true ; do
    
    if [ $num -ge 10  ] ; then 
        break;
    fi
    echo $num;
    (( num++ ));
done
[xijiu@localhost ~]$ sh breakE.sh 
1
2
3
4
5
6
7
8
9
[xijiu@localhost ~]$ 

 

2--continue

continue是跳出当次循环

案例:跳过2,4 输出

# countine 循环

for i in  {1..5} ; do
        if [ $i -eq 2  ] ; then
                continue
        fi

        if [ $i -eq 3 ] ; then
                continue
        fi

        echo $i
done

完整流程

[xijiu@localhost ~]$ vi countines.sh 
[xijiu@localhost ~]$ cat countines.sh 
# countine 循环

for i in  {1..5} ; do
    if [ $i -eq 2  ] ; then
        continue
    fi
    
    if [ $i -eq 3 ] ; then
        continue
    fi

    echo $i
done
[xijiu@localhost ~]$ sh countines.sh 
1
4
5
[xijiu@localhost ~]$ 

 

 

http://www.lryc.cn/news/2384883.html

相关文章:

  • AI筑基,新质跃升|英码科技亮相华为广东新质生产力创新峰会,发布大模型一体机新品,助力产业智能化转型
  • 手机打电话时由对方DTMF响应切换多级IVR语音菜单(话术脚本与实战)
  • 面试题——JDBC|Maven|Spring的IOC思想|DI思想|SpringMVC
  • DETR3D- 3D Object Detection from Multi-view Images via 3D-to-2D Queries
  • SpringBoot3整合WebSocket
  • 鸿蒙进阶——驱动框架UHDF 机制核心源码解读(一)
  • 电子电路:能认为电抗也是在做功吗?
  • DEEPSEEK + 其他工具的玩法
  • Idea 配合 devtools 依赖 实现热部署
  • 远程访问家里的路由器:异地访问内网设备或指定端口网址
  • 根据参数量,如何推断需要多少数据才能够使模型得到充分训练?
  • PycharmFlask 学习心得:路由(3-4)
  • 从逻辑学视角严谨证明数据加密的数学方法与实践
  • 敦煌网测评从环境搭建到风控应对,精细化运营打造安全测评体系
  • 现代化SQLite的构建之旅——解析开源项目Limbo
  • 本地分支git push 报错 fatal: The current branch XXXX has no upstream branch.
  • 人工智能100问☞第27问:神经网络与贝叶斯网络的关系?
  • Python----循环神经网络(WordEmbedding词嵌入)
  • ElasticSearch各种查询语法示例
  • CUDA的设备,流处理器(Streams),核,线程块(threadblock),线程,网格(‌gridDim),块(block)和多gpu设备同步数据概念
  • PyTorch的dataloader制作自定义数据集
  • LeetCode 1340. 跳跃游戏 V(困难)
  • x-cmd install | cargo-selector:优雅管理 Rust 项目二进制与示例,开发体验升级
  • 数据库设计文档撰写攻略
  • Python爬虫(10)Python数据存储实战:基于pymongo的MongoDB开发深度指南
  • 大模型「瘦身」指南:从LLaMA到MobileBERT的轻量化部署实战
  • 从逻辑视角学习信息论:概念框架与实践指南
  • springboot配置mysql druid连接池,以及连接池参数解释
  • Spring Boot集成Resilience4j实现微服务容错机制
  • (一) 本地hadoop虚拟机系统设置