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

shell中的case语句和循环语句

文章目录

  • 🍊自我介绍
  • 🍊shell中的case语句
    • 匹配常量
    • 匹配变量
    • 匹配字符串列表
  • 🍊循环语句
    • while 循环
    • for 循环
      • 单词表通过逐个列出单词
      • 通过变量中的数据
      • 通过命令行传输单词表


你的点赞评论就是对博主最大的鼓励
当然喜欢的小伙伴可以:点赞+关注+评论+收藏(一键四连)哦~


🍊自我介绍

  Hello,大家好,我是小珑也要变强(也是小珑),我是易编程·终身成长社群的一名“创始团队·嘉宾”“内容共创官” ,现在我来为大家介绍一下有关物联网-嵌入式方面的相关内容。


🍊shell中的case语句

格式:

case 字符串变量 in
	模式1)
		命令列表1
		;;
	模式2)
		命令列表2
		;;
	模式3)
		命令列表3
		;;
	*)
		命令列表n
esac


功能:查看字符串变量和下列哪个模式匹配,找到对应的模式后,执行对应的命令列表。
若是所有模式都不匹配,则默认执行* 下面的命令列表n。

匹配常量

#! /bin/bash

echo -n "Input String : "
read STR

case $STR in
	"ABC")
		echo "ABC"
		;;
	"123")
		echo "123"
		;;
	"AC" | "BC" | "1")
		echo "AC or BC or 1"
		;;
	*)
		echo "Other"
esac

匹配变量

#! /bin/bash

echo -n "Input String : "
read STR

VAR=`hello`

case $STR in
	"ABC")
		echo "ABC"
		;;
	"$VAR")
		echo "$VAR"
		;;

	*)
		echo "Other"
esac

匹配字符串列表

#! /bin/bash

echo -n "Input String : "
read STR

case $STR in
	"ABC")
		echo "ABC"
		;;
	[1235aw])
		echo "$STR in [1235aw]"
		;;
	[0-2])
		echo "$STR in [0-2]"
		;;
	*)
		echo "Other"
esac

🍊循环语句

while 循环

格式:

while 判断条件
do
	命令列表
done

代码示例:

#! /bin/bash

sum=0
i=1

while [ $i -le 100 ]
do
	sum=`expr $sum + $i`
	i=`expr $i + 1`
done

echo "sum = $sum i = $i"

for 循环

格式:

for 变量名 in 单词表
do
	命令
done

工作原理:
(1)循环的次数由单词的个数来决定
(2)每次从单词表中取一个单词给变量,然后执行命令,直到所有的单词全部被取出来

构造单词的方法:
(1)直接在in后面逐个单词写出来
(2)通过变量来获得——命令置换

示例代码1:

单词表通过逐个列出单词

#! /bin/bash

i=1

for var in "world1" "hello2" "shell3"
do
	echo $i : $var
	i=`expr $i + 1`
done

示例代码2:

通过变量中的数据

#! /bin/bash

i=1

list=`ls /`

echo $list | wc -w  //wc -w 列出当前目录下的文件个数

for var in $list
do
	echo $i : $var
	i=`expr $i + 1`
done

示例代码3:

通过命令行传输单词表

#! /bin/bash

i=1

for var in $@
do
	echo $i : $var
	i=`expr $i + 1`
done

http://www.kler.cn/a/400335.html

相关文章:

  • 什么是JSX?
  • nodejs+mysql+vue3 应用实例剖析
  • 笔记|M芯片MAC (arm64) docker上使用 export / import / commit 构建amd64镜像
  • 无人机动力系统测试-实测数据与CFD模拟仿真数据关联对比分析
  • SQLite 和 MySQL语法区别
  • java 读取 有时需要sc.nextLine();读取换行符 有时不需要sc.nextLine();读取换行符 详解
  • 4.STM32之通信接口《精讲》之USART通信---实验串口发送程序
  • 【开源免费】基于Vue和SpringBoot的实习管理系统(附论文)
  • 一文速学---红黑树
  • html 图片转svg 并使用svg路径来裁剪html元素
  • 【机器学习】回归模型(线性回归+逻辑回归)原理详解
  • go语言中反射机制(3种使用场景)
  • 大数据-227 离线数仓 - Flume 自定义拦截器(续接上节) 采集启动日志和事件日志
  • 华为HCCDA云技术认证--网络服务
  • 视图合并机制解析 | OceanBase查询优化
  • windows C#-异步编程概述(三)
  • 应用系统开发(12) Zync中实现数字相敏检波
  • 公众号登录报错问题处理
  • 【Pythonr入门第二讲】你好,世界
  • C# 属性与结构
  • 【机器学习】从马尔可夫链到CRF:全方位解析序列建模的核心技术
  • https://localhost/index 配置的nginx,一刷新就报404了
  • C++ 常见容器获取头元素的方法全览
  • 数据结构-二叉搜索树(Java语言)
  • 2.3 物理层设备
  • 无人机+无人车+机器狗:城市巷战突破技术详解