On Jan 6, 2005, at 7:28 PM, Tom Vilot wrote:
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
What is the point of the { } around some variables?
_______________________________________________________ Eric F Crist "I am so smart, S.M.R.T!" Secure Computing Networks -Homer J Simpson
PGP.sig
Description: This is a digitally signed message part