Date: Sun, 06 Jun 2010 13:17:47 +0800 From: Aiza <aiza21@comclark.com> To: CyberLeo Kitsana <cyberleo@cyberleo.net> Cc: "questions@freebsd.org" <questions@freebsd.org>, Dan Nelson <dnelson@allantgroup.com> Subject: Re: .sh & getopts Message-ID: <4C0B2F7B.9040609@comclark.com> In-Reply-To: <4C0B2AC1.1080805@comclark.com> References: <201006051513.o55FDCKj020952@mail.r-bonomi.com> <4C0ADBCF.8040506@comclark.com> <AANLkTimDVOQE-SrT7YO4UD3tktD81jy8px6dbbB83-Dl@mail.gmail.com> <20100606014737.GG85961@dan.emsphone.com> <4C0B1C61.9030501@comclark.com> <4C0B26B5.3090901@cyberleo.net> <4C0B2AC1.1080805@comclark.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Aiza wrote:
> CyberLeo Kitsana wrote:
>> On 06/05/2010 10:56 PM, Aiza wrote:
>>> i) action="installworld"; $flag_count=$((flag_count+1));;
>>> ...
>>> What is still wrong here
>>
>> Bourne shell expands variables to their contents before evaluating.
>> Thus, the above assignment ends up expanding to '0=1'. Leave out the $
>> on the target variable, and it becomes 'flag_count=1', which is more
>> likely what you intended.
>>
>
> i) action="installworld"; flag_count=$((flag_count+1));;
>
> But when tested it just put 1 into flag_count. it is not adding one to
> the value all ready in flag_count.
>
> Stilling missing the point here
> I want to perform math here. if more than one flag is coded them I want
> the count to increase by 1 for each flag on the command, not change the
> contents of the count to 1.
>
> Again take note this is .sh shell type.
>
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 ))
doing more testing if found that the above $(( ${OPTION} -1 ))
subtraction is not work either.
echo "OPTION = $OPTION" shows a value of 5, which is the 4 flags plus
the leading parm. I thought $(( ${OPTION} -1 )) meant it was subtracting
1 from the parm count which should make it 4 which is the number of
flags i passed.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4C0B2F7B.9040609>
