嵌入式成长轨迹10 【嵌入式环境及基础】【Linux shell强化】【脚本参数传递】...

本文介绍bash脚本中使用shift命令调整参数位置和getopts命令解析复杂命令行参数的方法,包括实例演示与代码实现。

 

一、shift命令
每次将参数位置向左偏移n位

 1 #!/bin/bash
2 #shift use
3
4 function use()
5 {
6 echo "Hello now i am $0! "
7 return 0
8 }
9 totalline=0;
10 if [ $# -lt 2 ];then
11 use
12 exit
13 fi
14
15 while [ $# -ne 0 ]
16 do
17 line=`cat $1 |wc -l`
18 echo "$l : $line"
19 totalline=$[ $totalline+$line ]
20 shift
21 done
22 echo "----------------"
23 echo "total:$totalline"

 

二、getopts命令
获得多个命令行参数
输入-a -h -c ff试试~

 

 1 #!/bin/bash
2 #getopts use
3
4 ALL=false
5 HELP=false
6 FILE=false
7 VERBOSE=false
8
9 while getopts ahfvc: OPTION
10 do
11 case $OPTION in
12 a)
13 ALL=true
14 echo "ALL IS $ALL"
15 ;;
16 h)
17 HELP=true
18 echo "HELP is $HELP"
19 ;;
20 f)
21 FILE=true
22 echo "FILE IS $FILE"
23 ;;
24 h)
25 HELP=true
26 echo "HELP is $HELP"
27 ;;
28 f)
29 FILE=true
30 echo "FILE IS $FILE"
31 ;;
32 v)
33 VERBOSE=true
34 echo "VERBOSE = $VERBOSE"
35 ;;
36 c)
37 c=$OPTARG
38 echo "c value is $c"
39 ;;
40 \?)
41 echo "`basename $0` -[a h f v] -[c value]file"
42 ;;
43 esac
44 done

 

 

 

 

终端

1 [root@localhost ~]# vi hellofun.sh
2 [root@localhost ~]# hellofun.sh -a -h -c ff
3 ALL IS true
4 HELP is true
5 c value is ff

 


 

转载于:https://www.cnblogs.com/zeedmood/archive/2012/03/06/2382475.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值