shell 流程控制语句
case语句
case $变量名 in
"值1")
如果变量的值等于值1,则执行程序1 ;;
"值2")
如果变量的值等于值2,则执行程序2 ;;
...省略其他分支...
*)
如果变量的值都不是以上的值,则执行此程序 ;;
esac //case反过来写
"case语句的使用实例"
#!/bin/bash
read "please input yes /no": cho
case "$cho" in
"yes")
echo "输入正确!";;
"no")
echo "输入错误!";;
*)
echo "输入异常!";;
esac
------------------------------------使用case的语句进行流程控制------------
[root@ssgao shell]# cat case_a.sh
#!/bin/bash
read op
case $op in
a)
echo "你输出的信息为 a ";;
b)
echo "你输入的信息为 b ";;
*)
echo "输入错误!"
esac
[root@ssgao shell]# sh case_a.sh
a
你输出的信息为 a
for语句
for 变量 in 值1 值2 值3 ...
do
程序
done
-----------使用实例---------
#! /bin/bash
for i in 1 2 3 4 5
do
echo $i
done
-----------使用实例-------------
解压缩某个目录下的压缩文件
#!/bin/bash
cd /root/test/
ls *.tar.gz > ls.log
ls *.tgz >> ls.log
for i in $(cat ls.log)
do
tar -zxf &> /dev/null
done
rm -rf ls.log
select循环
select 变量 in 列表
do
cmd ...
done
[root@ssgao shell]# vim g.sh
#!/bin/bash
select a in "a" "b" "c" "d"
do
echo $a
break
done
[root@ssgao shell]# sh g.sh
1) a
2) b
3) c
4) d
#? 3 //选择第三行信息
c
until循环
until循环,和while循环相反,until循环时只要条件判断式不成了则进行循环
并执行循环程序。
一旦循环条件成立,则终止循环
until [ 条件判断式 ]
do
程序
done
-----------使用实例------------
#!/bin/bash
#从1加到100
i=1
s=0
until [$i -ge 100] #如果变量i的值大于等于100,则停止执行循环
do
s=$(($s+$i))
i=$(($i+1))
done
echo "the sum is : $s"
while循环
while循环是不定循环,也称作条件循环。主要条件判断式成立,循环就会一直继续,直到条件判断式不成立,循环才会停止。
这和for的固定循环不太一样
while [ 条件判断式 ]
do
程序
done
continue ; //继续执行
break; //跳出循环
------------------使用实例--------------
#!/bin/bash
i=1
sum=0
while [ $i -le 100 ]
do
sum=`expr $sum + $i`
i=`expr $i + 1`
done
echo "the sum is : $sum"
[root@ssgao shell]# sh while.sh
the sum is : 5050
[root@ssgao shell]# cat while.sh
#!/bin/bash
i=0
while [ $i -le 100 ]
do
i=`expr $i + 1 `
if [ $i -eq 10 ]
then
echo "contine"
continue; //-----体会continue的使用
elif [ $i -eq 11 ]
then
echo "break"
echo "${i}"
break; //----体会break的使用
fi
done
[root@ssgao shell]# sh while.sh //运行查看执行的结果
contine
break
11
shell 流程控制语句的更多相关文章
- Linux Shell 流程控制语句
* 本文主要介绍一些Linux Shell 常用的流程控制语句* 1. if 条件语句:if-then/if-elif-fi/if- else-fi if [条件判断逻辑1];then command ...
- shell流程控制语句
linux shell有一套自己的流程控制语句,其中包括条件语句(if),循环语句(for,while,until),选择语句(case/select).下面我将通过例子介绍下,各个语句使用方法. 1 ...
- 5.Shell 流程控制语句
1.流程控制语句 通过if.for.while.case这4种流程控制语句来学习编写难度更大.功能更强的Shell脚本 4.3.1 if条件测试语句: if条件测试语句可以让脚本根据实际情况自动执行相 ...
- Linux | Shell流程控制语句
流程控制语句 简单的Shell 脚本还不能满足我们日常工作的需要要,因为他不能批量的帮我们完成工作,所以Shell引入了 if.for.while.case 4种流程控制语句来帮助我们完成工作. if ...
- Shell流程控制语句for
for语法格式: for 变量 in 参数列表 do 命令 done 或者 for 变量 in 参数列表 ; do 命令 done for语句流程控制图: 实例: [root@youxi1 ~]# v ...
- Shell流程控制语句while
while语法格式: while 判断条件 do 命令 done while语句流程控制图: 实例: [root@youxi1 ~]# vim a.sh #!/bin/bash i=0 while [ ...
- Shell流程控制语句case
case语法格式: case 变量或表达式 in 变量或表达式1) 命令1 ;; 变量或表达式2) 命令2 ;; ...... *) 默认命令 esac case语句流程控制图: 实例: [root ...
- Shell流程控制语句if
(1).if语句 语法格式: if 判断条件 ; then 命令 fi 或 if 判断条件 then 命令 fi if语句流程图: 实例:判断命令是否执行成功,成功则输出语句This is ok. [ ...
- linux shell awk 流程控制语句(if,for,while,do)详细介绍
在linux awk的 while.do-while和for语句中允许使用break,continue语句来控制流程走向,也允许使用exit这样的语句来退出.break中断当前正在执行的循环并跳到循环 ...
随机推荐
- 自定义 Git - 配置 Git
用git config配置 Git,要做的第一件事就是设置名字和邮箱地址: $ git config --global user.name "John Doe" $ git con ...
- java中\r与\n的区别
\r : return 到当前行的最左边. \n: newline 向下移动一行,并不移动左右. Linux中\n表示回车+换行: Windows中\r\n表示回车+换行. 测试了一下,在java,w ...
- [原][osg][osgEarth]EarthManipulator关于oe漫游器的handle部分解读以及修改(仿照谷歌,修改oe漫游器中focal(视角切换)功能 续 二)
bool EarthManipulator::handle(const osgGA::GUIEventAdapter& ea, osgGA::GUIActionAdapter& aa) ...
- Python3 - MySQL适配器 PyMySQL
本文我们为大家介绍 Python3 使用 PyMySQL 连接数据库,并实现简单的增删改查. 什么是 PyMySQL? PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一 ...
- 第 6 章 存储 - 040 - docker managed volume
docker managed volume 与 bind mount 在最大区别是不需要指定 mount 源,指明 mount point 就行了 通过 -v 告诉 docker 需要一个 data ...
- Windows的空格预览神器 | QuickLook
用惯了Mac,发现空格预览真的能极大的提升效率和手感. QuickLook,Windows版的空格预览神器,效果差一些,速度有点慢,勉强用吧.
- 关于新手用java写题目,遇到的字符和字符串问题
我看到一遍很好的博客: https://blog.csdn.net/qq_37267015/article/details/78738512 1.首先了,java之中,没有像C语言那样的getchar ...
- Flex scroller皮肤的使用
Flex4 scroller 自定义皮肤 十月 15, 2010 Posted by admin flex4里引入了sparkSkin, spark包里的可视控件可以通过指定skinClass的值来修 ...
- Fiddler抓包分析
在Fiddler的web session界面捕获到的HTTP请求如下图所示: 各字段的详细说明已经解释过,这里不再说明.需要注意的是#号列中的图标,每种图标代表不同的相应类型,具体的类型包括: ...
- luffy之多条件登录与极验滑动验证码
多条件登录 JWT扩展的登录视图,在收到用户名与密码时,也是调用Django的认证系统中提供的authenticate()来检查用户名与密码是否正确. 我们可以通过修改Django认证系统的认证后端( ...