]> CyberLeo.Net >> Repos - FreeBSD/releng/10.2.git/blob - contrib/netbsd-tests/sys/rc/h_args.sh
- Copy stable/10@285827 to releng/10.2 in preparation for 10.2-RC1
[FreeBSD/releng/10.2.git] / contrib / netbsd-tests / sys / rc / h_args.sh
1 #! /bin/sh
2 #
3 # $NetBSD: h_args.sh,v 1.1 2010/03/15 19:03:08 jmmv Exp $
4 #
5 # Copyright (c) 2010 The NetBSD Foundation, Inc.
6 # All rights reserved.
7 #
8 # This code is derived from software contributed to The NetBSD Foundation
9 # by Julio Merino.
10 #
11 # Redistribution and use in source and binary forms, with or without
12 # modification, are permitted provided that the following conditions
13 # are met:
14 # 1. Redistributions of source code must retain the above copyright
15 #    notice, this list of conditions and the following disclaimer.
16 # 2. Redistributions in binary form must reproduce the above copyright
17 #    notice, this list of conditions and the following disclaimer in the
18 #    documentation and/or other materials provided with the distribution.
19 #
20 # THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
21 # ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
22 # TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23 # PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
24 # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
25 # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
26 # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27 # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28 # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
29 # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
30 # POSSIBILITY OF SUCH DAMAGE.
31 #
32
33 #
34 # An rc.d script that overrides all standard comands and adds a non-standard
35 # command.  All of them print the set of arguments passed to them and take no
36 # further action.
37 #
38
39 ${_rc_subr_loaded} . /etc/rc.subr
40
41 name="h_args"
42 rcvar="${name}"
43 command="/usr/bin/true"
44 extra_commands="custom"
45
46 for command in start stop restart custom; do
47         eval ${command}_precmd=\'print_args pre${command}\'
48         eval ${command}_cmd=\'print_args ${command}\'
49         eval ${command}_postcmd=\'print_args post${command}\'
50 done
51
52 print_args() {
53         local command="${1}"; shift
54
55         printf "${command}:"
56         while [ ${#} -gt 0 ]; do
57                 printf " >%s<" "${1}"
58                 shift
59         done
60         printf ".\n"
61 }
62
63 load_rc_config "${name}"
64 run_rc_command "${@}"