On 03 jul 2005, at 19:03, fbsd_user wrote:

On Sun, 3 Jul 2005 12:14:05 -0400
"fbsd_user" <[EMAIL PROTECTED]> wrote:


Thanks but I need a little more help.

num_ip="(printf $raw_ip | sed 's/\.//g')"

gives me a error.

What would the correct syntax be?

I am trying to write script to insert rules into PF firewall
on 5.4. using pf anchors.



Hello,

The problem here is that

num_ip="(printf $raw_ip | sed 's/\.//g')"

makes num_ip equal to

(printf $raw_ip | sed 's/\.//g')

instead of its output.

To assign the output of a command use "`":

num_ip=`(printf $raw_ip | sed 's/\.//g')`

Also the subshell (the "()") is not needed:

num_ip=`printf $raw_ip | sed 's/\.//g'`

Hope that helps.

Best Regards,
Ale



Thanks that was just what I needed. Now building on that I tried
this

std_text='No ALTQ support in kernel ALTQ related functions disabled'

ret_ob=`(echo $outrule) | pfctl -a doorman_ob:$session_name_ob -f -
2>&1`
ret_ob=`printf $ret_ob | sed 's/\$std_text//g'`

The goal here is to remove the std_text from the output of the
pftctl command.

I get this error "printf missing format character"

Does sed need different syntax or have I got it all wrong?


printf needs " surrounding the arguments:

printf "$ret_ob"

is the right syntax...

Arno
_______________________________________________
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