svn commit: r244198 - in head: etc/rc.d sbin/sysctl

Xin Li delphij at delphij.net
Wed Dec 19 21:59:31 UTC 2012


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

On 12/19/12 13:10, Garrett Cooper wrote:
> On Wed, Dec 19, 2012 at 1:04 PM, Jilles Tjoelker <jilles at stack.nl>
> wrote:
>> On Wed, Dec 19, 2012 at 11:16:26AM -0800, Xin Li wrote:
>>> It may be worthy to make sysctl(8) to accept mutiple -f's, but
>>> it seems to be hard to write shell scripts that utilizes this
>>> feature in a elegant manner.
>> 
>> This is possible but indeed a bit ugly.
>> 
>> Hard-coding the list of files is not too bad:
>> 
>> shift $# for _f in /etc/sysctl.d/* /etc/sysctl.conf
>> /etc/sysctl.conf.local; do [ -r "$_f" ] && set -- "$@" -f "$_f" 
>> done sysctl "$@"
>> 
>> If the list is passed in the positional parameters it becomes
>> uglier:
>> 
>> _first=1 for _f do [ -n "$_first" ] && shift $# _first= [ -r
>> "$_f" ] && set -- "$@" -f "$_f" done sysctl "$@"
>> 
>> This uses for's temporary storage of the words being iterated
>> over, building a new set of positional parameters in the loop.
>> 
>> An alternative is to append the new list to the old one and to
>> use a saved copy of $# to remove the old elements afterwards.
>> 
>> It would be nice to store the arguments in a variable but that is
>> not possible because all characters are valid in pathnames,
>> except the null character which cannot be used in shell either.
> 
> find -exec / echo | xargs ? Seems like there's a better way to
> solve this. Thanks,

Won't work because you have to add -f's.

Cheers,
- -- 
Xin LI <delphij at delphij.net>    https://www.delphij.net/
FreeBSD - The Power to Serve!           Live free or die
-----BEGIN PGP SIGNATURE-----

iQEcBAEBCAAGBQJQ0jjBAAoJEG80Jeu8UPuzdRQH/AxNFRT1n+9aGQ7BuwHXSl5k
aY+Em7+W7de4HRh2Xmkt66q64419HxgKBv45DBtcg35xEWIaDBNTgZ0JKfvG94eg
mH43tq270sTuWJ1pZRIxybfLSPrP2uwsyG372Vw40AW2KdrWH1VZgKlTlmU8nF9G
b/cnTa5BhD5r+35o2gsWIQT6j34hWGja9tOi4vgmAAMxDbgdL2sHE42R0Tex/Ydz
hlRXAl+dMNqx9mw0rUwKdGBUFa5vDLokhI+AKCiAOMPxtUqheee1GqAytyEb0nst
uZcF/cmBDoS5j/W7UGfLrlR6fSr0nxqjbIVr4VSa15aUCvEmW5oZ3HhRy+lZYM4=
=5kx8
-----END PGP SIGNATURE-----


More information about the svn-src-head mailing list