歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> SHELL編程

Shell if語句用法小結

在shell編程中,常常會用if來判斷條件,從而控制程序的流程分支。if語句是非常簡單,跟其他語言差不多,不過,在shell中,要注意一些細節是很有必要的。

在這裡,不給出if的基本語法格式,網上搜索下,很多的。這裡給出個簡單的例子:

  1. #! /bin/sh -  
  2.   
  3. name=`basename $0 .sh`  
  4.   
  5. if [ $# -ne 2 -a $# -ne 3 ]; then  
  6.         echo "Usage: $name value1 value2"  
  7.         echo "       $name value1 value2 value3 "  
  8.         exit 1  
  9. fi  
  10.   
  11. if [ $# -eq 2 ]; then  
  12.         echo "two args: $1, $2"  
  13. else  
  14.         echo "three args: $1 $2 $3"  
  15. fi  
  16.   
  17. if [ $# -eq 2 ]; then  
  18.         if [ $1 -gt $2 ]; then  
  19.                 echo " $1 > $2"  
  20.         elif [ $1 -lt $2 ]; then  
  21.                 echo " $1 < $2 "  
  22.         else  
  23.             echo "$1 = $2"  
  24.         fi  
  25. else  
  26.         if [ $1 -ge $2 -a $1 -ge $3 ]; then  
  27.                 echo "$1 >=$2 , $1 >=$3"  
  28.         elif [ $1 -ge $2 -a $1 -lt $3 ]; then  
  29.                 echo "$1 >=$2 ,$1 < $3"  
  30.         elif [ $1 -lt $2 -a $1 -ge $3 ]; then  
  31.                 echo "$1 < $2, $1 >= $3"  
  32.         else  
  33.                 echo "$1 < $2, $1 < $3"  
  34.         fi  
  35. fi  
  36. exit 0  

將上面的內容保存為文件保存為if.sh,並給文件賦予可執行權限。然後通過調用該shell。該shell腳本主要是通過if語句,對不同的參數進行判斷輸出。上面的腳本基本囊括了常用的if then if else  if elif 。if語句中,主要需要注意以下幾點:

1、if 與[ 之間必須有空格

2、[ ]與判斷條件之間也必須有空格

3、]與; 之間不能有空格

關於比較運算符與邏輯運算符,請參閱 Shell腳本比較運算符及邏輯運算符小結  http://www.linuxidc.com/Linux/2012-02/53148.htm

Copyright © Linux教程網 All Rights Reserved