Shell if语句用法小结

shell编程中,常常会用if来判断条件,从而控制程序的流程分支。if语句是非常简单,跟其他语言差不多,不过,在shell中,要注意一些细节是很有必要的。

在这里,不给出if的基本语法格式,网上搜索下,很多的。这里给出个简单的例子:

#! /bin/sh -      name=`basename $0 .sh`      if [ $# -ne 2 -a $# -ne 3 ]; then           echo "Usage: $name value1 value2"           echo "       $name value1 value2 value3 "           exit 1   fi      if [ $# -eq 2 ]; then           echo "two args: $1, $2"   else           echo "three args: $1 $2 $3"   fi      if [ $# -eq 2 ]; then           if [ $1 -gt $2 ]; then                   echo " $1 > $2"           elif [ $1 -lt $2 ]; then                   echo " $1 < $2 "           else               echo "$1 = $2"           fi   else           if [ $1 -ge $2 -a $1 -ge $3 ]; then                   echo "$1 >=$2 , $1 >=$3"           elif [ $1 -ge $2 -a $1 -lt $3 ]; then                   echo "$1 >=$2 ,$1 < $3"           elif [ $1 -lt $2 -a $1 -ge $3 ]; then                   echo "$1 < $2, $1 >= $3"           else                   echo "$1 < $2, $1 < $3"           fi   fi   exit 0  

将上面的内容保存为文件保存为if.sh,并给文件赋予可执行权限。然后通过调用该shell。该shell脚本主要是通过if语句,对不同的参数进行判断输出。上面的脚本基本囊括了常用的if then if else  if elif 。if语句中,主要需要注意以下几点:

1、if 与[ 之间必须有空格

2、[ ]与判断条件之间也必须有空格

3、]与; 之间不能有空格

关于比较运算符与逻辑运算符,请参阅 Shell脚本比较运算符及逻辑运算符小结 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wyzgfs.html