Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 06 Jan 2005 18:28:37 -0700
From:      Tom Vilot <tom@vilot.com>
To:        Eric F Crist <ecrist@secure-computing.net>
Cc:        FreeBSD-Questions Questions <freebsd-questions@freebsd.org>
Subject:   Re: my lame attempt at a shell script...
Message-ID:  <41DDE5C5.2050402@vilot.com>
In-Reply-To: <7B531D49-6041-11D9-8A15-000D9333E43C@secure-computing.net>
References:  <06DDB71C-5DB4-11D9-B56F-000D9333E43C@secure-computing.net> <8B357427-5DB7-11D9-89A5-000D93AD26C8@tntluoma.com> <Pine.NEB.4.61.9.0501041028340.407@kenmore.kozy-kabin.nl> <7B531D49-6041-11D9-8A15-000D9333E43C@secure-computing.net>

next in thread | previous in thread | raw e-mail | index | archive | help
Eric F Crist wrote:

>
> First off, thanks again for all the help you've offered thus far.  
> That being said, I'm having a problem with variables in a function.  
> The code I'm having a problem with is:
>
> setup_loopback () {
>         ${fwcmd} add ${rulenum1} pass all from any to any via lo0; 
> ${rulenum1}=`expr $rulenum1 + 50`
>         ${fwcmd} add ${rulenum1} deny all from any to 127.0.0.0/8; 
> ${rulenum1}=`expr $rulenum1 + 50`
>         ${fwcmd} add ${rulenum1} deny ip from 127.0.0.0/8 to any; 
> ${rulenum1}=`expr $rulenum1 + 50`
> }
>
> The output of this, when run, is:
>
> 00050 allow ip from any to any via lo0
> 50=100: not found
> 00050 deny ip from any to 127.0.0.0/8
> 50=100: not found
> 00050 deny ip from 127.0.0.0/8 to any
> 50=100: not found
>
> This tells me that it's doing the math correctly, but it's not 
> reassigning the calculated value back to the variable.
>
> Any pointers? 


this is a very common mistake and is one of those things about sh and 
bash that drives me batty, too.

You're thinking like perl. :c)

Stripping it down to a test script, I have this:

-----
rulenum=50

rulenum=`$rulenum + 50`

echo $rulenum

----



I believe that is what you are after.

When you *assign* you don't use $




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?41DDE5C5.2050402>