Date: Sat, 05 Jun 2010 20:51:28 +0800 From: Aiza <aiza21@comclark.com> To: Robert Bonomi <bonomi@mail.r-bonomi.com> Cc: questions@freebsd.org Subject: Re: .sh & getopts Message-ID: <4C0A4850.8090107@comclark.com> In-Reply-To: <201006041812.o54ICwto011675@mail.r-bonomi.com> References: <201006041812.o54ICwto011675@mail.r-bonomi.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Robert Bonomi wrote: > m >> From owner-freebsd-questions@freebsd.org Thu Jun 3 23:36:28 2010 >> Date: Fri, 04 Jun 2010 12:35:56 +0800 >> From: Aiza <aiza21@comclark.com> >> To: "questions@freebsd.org" <questions@freebsd.org> >> Cc: >> Subject: .sh & getopts >> >> Have this code >> >> shift; while getopts :ugr: arg; do case ${arg} in >> u) action="freebsd-update";; >> g) action="freebsd-upgrade";; >> r) action="freebsd-rollback";; >> ?) exerr ${cmd_usage};; >> esac; done; shift $(( ${OPTION} -1 )) >> >> >> Command being executed looks like this, cmd action -flags aaaa bbbb >> >> Only a single -flag in allowed on the command. >> >> $# gives a count of parms ie: aaaa bbbb. in this example a count of 2. >> >> I am looking for something to check that holds the number of flags on >> the command. so I can code. if flag_count gt 1 = error >> >> Is there such a thing created by getopts? > > Why bother?? > > flag_count=0 > shift; while getopts :ugr: arg > if flag_count = 1; then > exerr ${cmd_usage} > fi > flag_count=1; > do case ${arg} in > {{blah-blah}} > nope dont work. If the flags are counted at all it has to be a function of getopts
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4C0A4850.8090107>