shell自定义长参数解析的一种方法

测试用例:

./ReadArguments.sh -AAA aaa -BBB bbb -CCC  ccc -DDD dddd

File Name: ./ReadArguments.sh
AAA: aaa
BBB: bbb
CCC: ccc
DDD: dddd

详细脚本:

cat ReadArguments.sh 
#!/bin/sh 

echo "File Name: $0"

AAA=""
BBB=""
CCC=""
DDD=""

HandleInputArguments()
{
    if [ x"-AAA" = x"$1" ]; then
        AAA=$2
    fi  

    if [ x"-BBB" = x"$1" ]; then
        BBB=$2
    fi  

    if [ x"-CCC" = x"$1" ]; then
        CCC=$2
    fi  

    if [ x"-DDD" = x"$1" ]; then
        DDD=$2
    fi  

}

OldArgument=""

for var in "$@"
do
        c=${var:0:1}
        if [ "-" = "$c" ]; then
                OldArgument=$var
        else
                if [ x"" != x"${OldArgument}" ]; then
                        HandleInputArguments ${OldArgument} "${var}"
                fi
        fi
done

echo "AAA: "$AAA
echo "BBB: "$BBB
echo "CCC: "$CCC
echo "DDD: "$DDD

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值