jail_box_ip="<insert hundreds of ips here>"

Matthew Seaman m.seaman at infracaninophile.co.uk
Sat Aug 2 17:37:54 UTC 2008


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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 258 bytes
Desc: OpenPGP digital signature
Url : http://lists.freebsd.org/pipermail/freebsd-questions/attachments/20080802/7cd9c94f/signature.pgp


More information about the freebsd-questions mailing list