4、shell编程之流程控制
流程控制
if、case、for、while
1、if判断
- 基本语法:
if [条件判断式]; then
程序
fi
或者
程序
elif[条件判断式]
程序
fi
注意事项:(1)、条件判断式中,中括号和判断式执行必须有空格
(2)、推荐使用第二种方式
- 实例:
编写shell程序,如果输入的参数大于等于60,则输出“及格了”,如果小于60,则输出“不及格”
#!/bin/bash
if [ $1 -ge 60 ]
then
echo "及格了"
elif [ $1 -lt 60 ]
echo "不及格"
fi
2、case语句
- 基本语法:
case $变量名 in “值1”)
如果变量的值等于值1,则执行程序1
;;
“值2”)
如果变量的值等于值1,则执行程序2
;;
...省略其他分支
*)
如果变量的值都不是以上的值,则执行此程序
;;
esac
- 实例:当命令行参数是1时,输出“周一”,是2时,输出“周二”,其他情况输出“other”
#!/bin/bash
case $1 in
"1")
echo "周一"
;;
"2")
echo "周二"
;;
*)
echo "other"
;;
esca
3、for循环
- 基本语法1:
for 变量 in 值1 值2 值3
do
程序
done
- 实例:打印命令行输入的参数(使用$*或$@)
#!/bin/bash
#第一种方式使用$*
for i in "$*"
do
echo “the num is $i”
done
./test.sh 10 20 30
输出the num is 10 20 30
#第二种方式使用$@
for j in "$@"
do
echo “the num is $j”
done
./test.sh 10 20 30
输出:the num is 10
the num is 20
the num is 30
- 基本语法2:
for ((初始值;循环控制条件;变量变化))
do
程序
done
- 实例:
从1加到100的值输出显示
#!/bin/bash
for ((i=1;i<=100;i++))
do
SUM=$[$SUM+$i]
done
echo "sum=$SUM"
4、while循环
- 基本语法1:
while [条件判断式]
do
程序
done
- 实例:从命令行输入一个数n,统计从1+...+n的值是多少
#!/bin/bash
SUM=0
i=0
while [ $i -le $1 ]
do
i=$[$SUM+$i]
i=$[$i+1]
done
echo "sum=$SUM"
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具