七、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