Shell script help
Mike.Jeays at rogers.com
Wed Jun 29 03:17:08 GMT 2005
On Tue, 2005-06-28 at 22:52, fbsd_user wrote:
> My sh shell script ability is not that good.
> Have 2 simple coding problems.
> How do I code a statement to subtract one from a field.
> $rulenum = $rulenum - 1
> $rulenum = '$rulenum - 1'
> $rulenum = $rulenum - $one
> $rulenum='$rulenum - $one'
> None of that works. must really be simple.
> I also have this line
> inruleno=`ipfw list | sed -n -e "s/00\([0-9]*\) $inblock/\1/p"`
> This works ok, the search argument is s/00\ but that is not good enough
> because the number can be 0 to 65535. The sed -n -e "s/00\([0-9]*\ needs to
> be changed to just return the first word.
> Thanks for any help you can give.
> freebsd-questions at freebsd.org mailing list
> To unsubscribe, send any mail to "freebsd-questions-unsubscribe at freebsd.org"
"man expr" to give the short answer to your first question:
As an example, x=`expr $x + 1`
536 ~ $ x=4
537 ~ $ x=`expr $x + 1`
538 ~ $ echo $
Note the back-quotes to execute a command and return the result, and the
need for spaces between each token in the expr command.
More information about the freebsd-questions