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>