共计 1984 个字符,预计需要花费 5 分钟才能阅读完成。
丸趣 TV 小编给大家分享一下 Shell 中如何实现流程控制,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
Shell 流程控制
在 Linux 编程中,流程控制语句基本为 if、for、while、until、case 等条件的控制语句
if 控制
if 常用语法结构
If (表达式); then
echo ..........
else
echo ..........
fi
演示:
#!/bin/bash
num=10
if ((${num} 4));then
echo ${num} 大于 3
if test [${num} 4];then
echo ${num} 大于 4
fi
if 多重判断
#!/bin/bash
num=10;
if [ $num -lt 8 ];then
echo ${num} 小于 8
elif [ ${num} -eq 10 ];then
echo ${num} 等于 10
elif [ ${num} -gt 11 ];then
echo ${num} 大于 10
echo 没有符合的条件
fi;
for 循环
for 循环语法结构
For 变量 in 字符串
do
echo
done
演示:
#!/bin/bash
#定义一个数组
val=(1 2 3 4 5 6)
for i in ${val[*]} # 也可以直接 in `seq 6`
echo this is num: $i
done
输出结果:
# 打印结果:this is num: 1
this is num: 2
this is num: 3
this is num: 4
this is num: 5
this is num: 6
演示 2:
#!/bin/bash
# 对查找文件批量打包
for i in `find /var/log -name “*.log”`
do
tar –czf 2019log.tgz $i
done
while 循环
while 语法结构
while (条件判断)
do
echo
done
演示:
#!/bin/sh
i=1;
while(( $i = 10 ));do # 或者 while [ $i -le 10 ];do
echo $i;
let i++ # 或者 ((i++));
done;
输出结果:
1
10
演示:
[root@localhost opt]# cat test.sh
#!/bin/sh
#打印文件内容
while read line
echo $line;
done /etc/hosts
until 循环
until 循环执行命令是需要条件为 true 时才退出,否知一直循环,[] 主要判断 true 和 false
until 循环与 while 循环在处理方式相反,且 while 循环优于 until 循环
演示:
#!/bin/bash
i=1;
until [ ! $i -le 10 ];do
echo $i;
let i++ #((i++)) or (i=`expr $i + 1`)
done;
case 选择语句
简单演示:
#!/bin/sh
#author:
case $1 in
1|2|3|4) echo 你输入数字为 $1
;;
*)
echo Usage:{$0 1 | 2 | 3 | 4 | help}
echo 你输入数字不在服务区
;;
esac
简单演示
注意:
break 直接跳出 while 循环体
continue 只会跳出当前循环, 不会跳出 while 循环
#!/bin/sh
#author:
while :
echo ------------------------
echo 输入 1- 4 之间的数字:
echo 你输入的数字为:
read num
case $num in
1|2|3|4) echo 你输入数字为:${num} !!
;;
*)
#echo Usage:{$0 1 | 2 | 3 | 4 | help}
echo ------------------------
echo 你输入数字不在服务区
break # continue
;;
done
select 选择语句
#!/bin/sh
#author:
PS3= What you like most of the open source system?
select i in windows Linux Max
do
echo Your Select System: $i
done
# 目录是否存在
if [ ! -d $BAK_DIR ];then
mkdir -p $BAK_DIR
#test 判断文件
if test -e ${BAK_DIR}
echo 文件存在! echo 文件不存在!fi
看完了这篇文章,相信你对“Shell 中如何实现流程控制”有了一定的了解,如果想了解更多相关知识,欢迎关注丸趣 TV 行业资讯频道,感谢各位的阅读!
正文完