help with sh script

fbsd_user fbsd_user at a1poweruser.com
Sun Jul 3 17:03:42 GMT 2005


On Sun, 3 Jul 2005 12:14:05 -0400
"fbsd_user" <fbsd_user at a1poweruser.com> 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?









More information about the freebsd-questions mailing list