#! /bin/sh # # $NetBSD: h_args.sh,v 1.1 2010/03/15 19:03:08 jmmv Exp $ # # Copyright (c) 2010 The NetBSD Foundation, Inc. # All rights reserved. # # This code is derived from software contributed to The NetBSD Foundation # by Julio Merino. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS # ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED # TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. # # # An rc.d script that overrides all standard comands and adds a non-standard # command. All of them print the set of arguments passed to them and take no # further action. # ${_rc_subr_loaded} . /etc/rc.subr name="h_args" rcvar="${name}" command="/usr/bin/true" extra_commands="custom" for command in start stop restart custom; do eval ${command}_precmd=\'print_args pre${command}\' eval ${command}_cmd=\'print_args ${command}\' eval ${command}_postcmd=\'print_args post${command}\' done print_args() { local command="${1}"; shift printf "${command}:" while [ ${#} -gt 0 ]; do printf " >%s<" "${1}" shift done printf ".\n" } load_rc_config "${name}" run_rc_command "${@}" |