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 $


_______________________________________________ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to