shell编程之条件判断与分支控制

一、test测试语句

  根据不同的test语句实现不同的操作

 

 

 

 

  例子:判断命令行的执行参数是否为两个。如果不是两个就报错。

    test $# -ne 2 

  示例程序

1 #!/bin/bash
2 
3 if test $# -ne 2
4 then
5     echo "error"
6 else
7     echo "good"
8 fi

  test语句也可以用以下方式

1 #!/bin/bash
2 
3 if [ $# -eq 2 ]
4 then
5     echo "error"
6 else
7     echo "good"
8 fi

  需要强调的是:第3行[  ]的前后必须有空格。

二、分支控制语句

  shell:

    分支:if-else-if case-esac

    控制:while for until

 分支 if-else-fi

  框架:两种情况

  if 判断条件(test测试语句)

  then

    xxxx

  else

    xxxx

  fi

  框架:三种情况

  if 判断条件

  then

    xxxx

  elif

  then

    xxxx

  else

    xxxx

  fi

  注意:

  1.每一个if语句都要有fi作为结尾;

  2.if判断条件为真,才能执行then后面的语句

  3.if判断条件 等价于if判断条件;后面有没有分号都可以

 

  例子:使用命令行传参,传递两个参数   if-elif-else-fi

    如果num1>num2 ,num1>num2

    如果num1=num2 ,num1=num2

    如果num1<num2 ,num1<num2

if test $1 \< $2
then
    echo "$1 < $2"
elif test $1 \> $2
then
    echo "$1 > $2"
else
    echo "$1 = $2"
fi

代码没有任何难度,只是需要注意 < >前面要加转义字符'\'

  分支 case

框架

  case 变量 in

  xx)

    xxxxxx;;                            //变量如果是xx,那么执行该语句

  yy)

    xxxxxx;;

  zz)

    xxxxxx;;

  *)//其他情况

    xxxx;;

  esac

  例子

 1 #!/bin/bash
 2  
 3 case $1 in
 4 12)
 5      echo "12";;
 6 13)
 7      echo "13";;
 8  *)
 9      echo "456";;
10 esac

 

posted @ 2021-10-24 19:52  从零开始造航母  阅读(124)  评论(0)    收藏  举报