美文网首页
流程控制-3

流程控制-3

作者: 小小机器人 | 来源:发表于2017-05-05 10:53 被阅读3次

1. if...elif...else

#!/bin/bash
a=10
b=20
if [ $a == $b ] 
then  
   echo "a is equal to b"   
elif [ $a -gt $b ]
then        
   echo "a is greater than b" 
elif [ $a -lt $b ]
then
   echo "a is less than b"
else
   echo "what a fuck"
fi 

2. case...esac

echo 'Input a number between 1 to 4'
echo 'Your number is:'
read aNum
case $aNum in
    1)  echo 'You select 1'
    ;;
    2)  echo 'You select 2'
    ;;
    3)  echo 'You select 3'
    ;;
    4)  echo 'You select 4'
    ;;
    *)  echo 'You do not select a number between 1 to 4'
    ;;
esac
[root@localhost shell_study]# ./test6.sh 
Input a number between 1 to 4
Your number is:
2
You select 2

表达方式:

1|2|3|4|5) echo "Your number is $aNum!"
;;

3. for循环

for value in 1 2
do
    echo "The value is: $value"
done

输出:
The value is: 1
The value is: 2

for str in 'This is a string'
do
    echo $str
done

输出:
This
is
a
string

for FILE in $HOME/.bash*
do
    echo $FILE
done

遍历当前用户HOME目录下以.bash结尾的所有文件

4. while循环

#!/bin/bash
i=1
while ((i<10))
do
   echo "$i"
   i=`expr $i + 1`
done

5. 跳出循环

#!/bin/bash
for var1 in 1 2 3
do
   for var2 in 4 5
   do
      if ((var1 == 2 && var2 == 5))
      then
         break 2
      else
         echo "内层循环:$var1 $var2"
      fi
   done
   echo "外层循环:$var1"
done
[root@localhost shell_study]# ./test.sh 
内层循环:1 4
内层循环:1 5
外层循环:1
内层循环:2 4

注意:

  1. if elif后面必须有then
  2. []与变量之间必须有空格
  3. 当变量是数字时,可用表达式:

    if [ $a == $b ]

    if [ a == b ]

    if ((a == b))

    if [ $a -gt $b ]

    if [ $a -lt $b ]

    if [ a > b ]

    if ((a < b))

    if ((a == b && a > 0))

    if ((a == b || a > 0))
  4. 当变量是字符串时,可用表达式:

    if [ $a == $b ]

    if [ a == b ]

    if [ a == b -a a == "love" ]

    if [ a == b -o a == "love" ]

    if ((a == b && a == "love"))

    if ((a == b || a == "love"))

相关文章

  • bash 脚本进阶

    1 流程控制 2 函数 3 数组

  • 流程控制-3

    1. if...elif...else 2. case...esac 表达方式: 3. for循环 输出:The ...

  • 控制流程作业3

    5.看看下面代码输出什么?class Demo {public static void main(String[]...

  • 5-流程控制

    流程控制 流程 计算机执行代码的顺序就是流程 流程控制 对计算机代码执行顺序的管理就是流程控制 流程分类 流程控制...

  • 04-流程控制及while循环

    流程控制 流程: 计算机执行代码的顺序,就是流程。 流程控制: 对计算机代码执行顺序的控制,就是流程控制。 流程分...

  • JavaScript-流程控制语句

    一、if流程控制语句 二、switch流程控制语句 三、流程控制语句

  • mysql之流程控制语句

    1、流程控制语句 MYSQL的流程控制语句也只能用于存储过程,主要有3类: 跳转语句:ITERATE和LEAVE语...

  • js流程控制

    2 - 流程控制 2.1 流程控制概念 2.2 顺序流程控制 ​ 顺序结构是程序中最简单、最基本的流程控制,它...

  • 二级-2.Python流程控制

    流程控制 流程:计算机执行代码的顺序就是流程。 流程控制:对计算机代码执行顺序的管理就是流程控制。 流程控制一共分...

  • PHP(3)流程控制

    一、特殊语句 break --- 立即结束循环,后面的循环不执行 goto --- 调到循环或者条件构造之外的某个...

网友评论

      本文标题:流程控制-3

      本文链接:https://www.haomeiwen.com/subject/jfmtittx.html