七、linux下shell编程の脚本参数传递

本章详解

  • shift命令  getopts

7.1  shift

  • 每次默认将参数位置向左移动一位
  • shift n表示左移n位
  • eg.
 1 #!/bin/bash
 2 #opt2
 3 usage()
 4 {
 5     echo "usage:`basename $0` filenames"
 6 }
 7 totalline=0
 8 
 9 if [ $# -lt 2 ]; then
10     usage
11 fi
12 
13 while [$# -ne 0 ]
14 do
15     line=`cat $1`|wc -l`
16     echo "$1 : ${line}
17     totalline=$[ &totaline+$line ]
18     shift
19 done
20 echo "---------------"
21 echo "total:${totalline}"

7.2  getopts

  • 获得多个命令行参数
 1 #!/bin/bash
 2 ALL=false
 3 HELP=false
 4 FILE=false
 5 VERBOSE=false
 6 while getopts ahfvc OPTION
 7 do
 8      case  $OPTION in
 9      a)
10             ALL=true
11             echo "ALL IS $ALL"
12             ;;
13      h)
14             HELP=true
15             echo "HELP is $HELP"
16             ;;
17       f)
18             FILE=true
19             echo "FILE is $FILE"
20             ;;
21        v)
22              VERBOSE=true
23              echo "VERBOSE is $VERBOSE"
24              ;;
25        c)
26               echo "c value is $c"
27               ;;
28        \?)
29               echo "`basename $0` -[a h f v] -[c value] file"
30               ;;
31          esac
32 done
posted @ 2012-10-04 16:43  xiaolongxia  阅读(133)  评论(0)    收藏  举报