歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> SHELL編程 >> Shell if語句用法小結

Shell if語句用法小結

日期:2017/3/1 10:31:20   编辑:SHELL編程

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

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

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