码迷,mamicode.com
首页 > 其他好文 > 详细

Bash 脚本 getopts为什么最后一个參数取不到

时间:2017-04-22 14:34:15      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:art   while   code   为什么   ase   class   getopt   脚本   case   

看以下的Bash脚本:

#!/bin/bash
interval=0
count=0
pid=""
while getopts "p:d:n" arg
do
        case $arg in
        p)
                pid=$OPTARG
                echo "pid: $pid"
                ;;
        d)
                interval=$OPTARG
                echo "interval:$interval"
                ;;
        n)
                count=$OPTARG
                echo "count:$count"
                ;;
        \?)
                echo "unkonw argument"
                exit 1
                ;;
        esac
done

发现最后一个參数n总是获取不到,为什么呢?

原来,n后面少了一个冒号。參数都要要带上一个冒号。包含在最末尾的參数。

正确的写法:

while getopts "p:d:n:" arg

Bash 脚本 getopts为什么最后一个參数取不到

标签:art   while   code   为什么   ase   class   getopt   脚本   case   

原文地址:http://www.cnblogs.com/wzzkaifa/p/6747363.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!