shell中的case语句和循环语句

文章目录


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


🍊自我介绍

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


🍊shell中的case语句

格式:

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


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

匹配常量

powershell 复制代码
#! /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

匹配变量

powershell 复制代码
#! /bin/bash

echo -n "Input String : "
read STR

VAR=`hello`

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

	*)
		echo "Other"
esac

匹配字符串列表

powershell 复制代码
#! /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 循环

格式:

powershell 复制代码
while 判断条件
do
	命令列表
done

代码示例:

powershell 复制代码
#! /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 循环

格式:

powershell 复制代码
for 变量名 in 单词表
do
	命令
done

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

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

示例代码1:

单词表通过逐个列出单词

powershell 复制代码
#! /bin/bash

i=1

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

示例代码2:

通过变量中的数据

powershell 复制代码
#! /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:

通过命令行传输单词表

powershell 复制代码
#! /bin/bash

i=1

for var in $@
do
	echo $i : $var
	i=`expr $i + 1`
done
相关推荐
cuijiecheng20183 分钟前
Ubuntu下布署mediasoup-demo
linux·运维·ubuntu
独行soc2 小时前
2025年渗透测试面试题总结-2025年HW(护网面试) 33(题目+回答)
linux·科技·安全·网络安全·面试·职场和发展·护网
一禅(OneZen)2 小时前
「Windows/Mac OS」AIGC图片生成视频 ,webui + stable-diffusion环境部署教程
windows·stable diffusion
java龙王*2 小时前
开放端口,开通数据库连接权限,无法连接远程数据库 解决方案
linux
AirDroid_cn3 小时前
OPPO手机怎样被其他手机远程控制?两台OPPO手机如何相互远程控制?
android·windows·ios·智能手机·iphone·远程工作·远程控制
bcbobo21cn3 小时前
Linux命令的命令历史
linux·histsize·histfile
jingyu飞鸟4 小时前
linux系统源代码安装apache、编译隐藏版本号
linux·运维·apache
世事如云有卷舒4 小时前
Ubunt20.04搭建GitLab服务器,并借助cpolar实现公网访问
linux·服务器·gitlab
2401_858286115 小时前
OS15.【Linux】gdb调试器的简单使用
linux·运维·服务器·开发语言·gdb
小龙在山东5 小时前
Python 包管理工具 uv
windows·python·uv