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 流程控制语句的更多相关文章

  1. Linux Shell 流程控制语句

    * 本文主要介绍一些Linux Shell 常用的流程控制语句* 1. if 条件语句:if-then/if-elif-fi/if- else-fi if [条件判断逻辑1];then command ...

  2. shell流程控制语句

    linux shell有一套自己的流程控制语句,其中包括条件语句(if),循环语句(for,while,until),选择语句(case/select).下面我将通过例子介绍下,各个语句使用方法. 1 ...

  3. 5.Shell 流程控制语句

    1.流程控制语句 通过if.for.while.case这4种流程控制语句来学习编写难度更大.功能更强的Shell脚本 4.3.1 if条件测试语句: if条件测试语句可以让脚本根据实际情况自动执行相 ...

  4. Linux | Shell流程控制语句

    流程控制语句 简单的Shell 脚本还不能满足我们日常工作的需要要,因为他不能批量的帮我们完成工作,所以Shell引入了 if.for.while.case 4种流程控制语句来帮助我们完成工作. if ...

  5. Shell流程控制语句for

    for语法格式: for 变量 in 参数列表 do 命令 done 或者 for 变量 in 参数列表 ; do 命令 done for语句流程控制图: 实例: [root@youxi1 ~]# v ...

  6. Shell流程控制语句while

    while语法格式: while 判断条件 do 命令 done while语句流程控制图: 实例: [root@youxi1 ~]# vim a.sh #!/bin/bash i=0 while [ ...

  7. Shell流程控制语句case

    case语法格式: case 变量或表达式 in 变量或表达式1) 命令1 ;; 变量或表达式2) 命令2 ;; ...... *) 默认命令 esac case语句流程控制图:  实例: [root ...

  8. Shell流程控制语句if

    (1).if语句 语法格式: if 判断条件 ; then 命令 fi 或 if 判断条件 then 命令 fi if语句流程图: 实例:判断命令是否执行成功,成功则输出语句This is ok. [ ...

  9. linux shell awk 流程控制语句(if,for,while,do)详细介绍

    在linux awk的 while.do-while和for语句中允许使用break,continue语句来控制流程走向,也允许使用exit这样的语句来退出.break中断当前正在执行的循环并跳到循环 ...

随机推荐

  1. STL_头文件

    #include <string> #include <vector> #include <deque> #include <queue> #inclu ...

  2. Java String删除字符串中间的某部分

    当你想删除字符串中的某部分时,java中并没有直接提供相关的方法,比如想删除 "cout<<\"Hello world\"<<endl" ...

  3. git的安装以及生成ssh key

    安装git 在ubuntu系统下输入以下命令安装git软件: sudo apt-get install git 输入以下命令查看git是否安装成功: git --version 如下图所示则表示安装成 ...

  4. linux网络常用命令

    1,显示网桥 brctl show2,显示ip ip a3,查看openvswitch的配置信息 ovs-vsctl show4,显示网络命名空间 ip netns5,显示DHCP信息 ps -ef ...

  5. Codeforces 1073 E - Segment Sum

    E - Segment Sum 思路: 数位dp 我们平时做的数位dp都是求满足条件的数的个数, 这里要求满足条件的数的和 只要在原来的基础上求每一位的贡献就可以了,所以传参数时要传两个 代码: #p ...

  6. VNPY思维导图架构

    VNPY是使用人数世界第三,国内第一的量化交易框架,封装的接口主要有ctp(期货),wind,xtp(股票)等.内部包含回测.实盘.模拟盘等模块.数据库默认为MongoDB的no-sql数据库,基于p ...

  7. PHP数组合并和去重的函数有哪些

    PHP数组合并和去重的函数有哪些 一.总结 一句话总结:合并:array_merge() array_merge_recursive() +号:去重:array_flip() array_unique ...

  8. [Spring] ClassPathXmlApplicationContext类

    1. 该类在package org.springframework.context.support包下. 该包在4.0.1中封装在spring-context-***.jar中. 其无参构造函数的文档 ...

  9. Python 编程快速上手 第十五章 保持时间,计划任务和启动程序

    前言 这一章节的主要内容是: 处理时间类型的数据(使用python 的两个模块: time 和 datetime 来处理) 创建多个线程 (使用 threading 模块来创建多个线程) 进行多个进程 ...

  10. java开学第一周测试代码

    Account.java /* 信1705-3 20173612  陈阳阳 */package ATM; public class Account { private String accountID ...