概述
流程控制
1、if判断
基本语法
if [ 条件判断式 ];then
程序
fi
或者
if [ 条件判断式 ]
then
程序
elif [ 条件判断式 ]
then
程序
fi
注意事项:
(1)[ 条件判断式 ],中括号和条件判断式之间必须有空格
(2)推荐使用第二种方式。
应用实例
请编写一个shell程序,如果输入的参数,大于等于60,则输出"及格了",如果小于60,则输出“不及格”。
if [ $1 -ge 60 ]
then
echo "及格了"
elif [ $1 -lt 60 ]
then
echo "不及格"
fi
2、case语句
基本语法
case $变量名 in
"值1")
如果变量的值等于1,则执行程序1
;;
"值2")
如果变量的值等于2,则执行程序2
;;
*)
如果变量的值都不是以上的值,则执行此程序
;;
esac
注意:case的具体条件之前有没有缩进都可以。
应用案例
当命令行参数是1时,输出“周一”,是2时,就输出“周二”,其他情况输出“other”
#!/bin/bash
case $1 in
"1")
echo "星期一"
;;
"2")
echo "星期二"
;;
*)
echo "others"
;;
esac
3、for循环
基本语法1
for 变量 in 值1 值2 值3 ...
do
程序
done
应用实例
打印命令行输入的参数 ,【这里可以看出$*
和$@
的区别】
#!/bin/bash
# 案例:打印命令行输入的参数
# 使用 $*
for i in "$*"
do
echo "the number is $i"
done
echo "=============================="
# 使用 $@
for j in "$@"
do
echo "the number is $j"
done
但是去掉参数的双引号。并没有发现$*
和$@
的区别。
#!/bin/bash
# 案例:打印命令行输入的参数
# 使用 $*
for i in $*
do
echo "the number is $i"
done
echo "=============================="
# 使用 $@
for j in $@
do
echo "the number is $j"
done
输出:
基本语法2
for ((初始值;循环控制条件;变量变化))
do
程序
done
应用案例
从1加到100的值输出显示
#!/bin/bash
# 打印1到100的和
SUM=0
for ((i=0;i<=100;i++))
do
SUM=$[$SUM+$i]
done
echo "和为$SUM"
4、while循环
基本语法1
while [ 条件判断式 ]
do
程序
done
应用实例:
从命令行输入一个数n,统计从1+…+n的值是多少?
#!/bin/bash
# 统计1+。。。+n的值是多少
SUM=0
i=1
while [ $i -le $1 ]
do
SUM=$[$SUM+$i]
i=$[$i+1]
done
echo "和为$SUM"
最后
以上就是落寞绿茶为你收集整理的Shell流程控制流程控制1、if判断2、case语句3、for循环4、while循环的全部内容,希望文章能够帮你解决Shell流程控制流程控制1、if判断2、case语句3、for循环4、while循环所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复