Redd Vinylene wrote:
Hey, I got a couple of hundred IPs, is there an easy way to add them
all to jail_box_ip="ip1,ip2,ip3" without making like the longest line
ever?

Like this?

jail_box_ip="66.252.2.4,\
66.252.2.5,\
66.252.2.6,\

Unfortunately that doesn't look too good.

Nor does:

export x=$(cat ips);export jail_ips=''; for ip in $x; do export
jail_ips="$jail_ips,$ip"; done; export jail_ips=$(echo $jail_ips | sed
s/,$/''/ | sed s/^,//);

Is there a more beautiful alternative?

/etc/rc.conf is just /bin/sh code.  All you need to do is set
the variables -- usually by assigning a static string, but you
can use whatever constructs you want.  Well - within reason.  Making
something as critical as the system boot process depend on a bunch of
other files or processes is not a good idea on the whole.

You can include multi-line whitespace in the variables by using single quotes:

jail_box_ip='66.252.2.4,
             66.252.2.5,
             66.252.2.6,
            66.252.2.7'

Assuming that the init script that processes this data isn't phased
by the inclusion of a bit of whitespace.

Or you can generate the required numbers, assuming they are
consecutive:

jail_box_ip=$( jot -w "66.252.2.%d" -s "," 5 4  )

        Cheers,

        Matthew

--
Dr Matthew J Seaman MA, D.Phil.                   7 Priory Courtyard
                                                 Flat 3
PGP: http://www.infracaninophile.co.uk/pgpkey     Ramsgate
                                                 Kent, CT11 9PW

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to