#!/bin/sh # # /etc/init.d/rc # Executes init scripts on init and shutdown. # # Copyright (C) 2012, 2014 Patrick "P. J." McDermott # # This file may be reproduced, distributed, modified, and otherwise dealt in # under the terms of the Expat License. LF=' ' [ -x /usr/bin/logger ] && logger='logger -p 6 -t sysinit' || logger=cat # Buffer log lines until syslogd is running. log() { local line= local buf= while read -r line; do buf="${buf}${line}${LF}" if [ -f /var/run/syslogd.pid ]; then printf '%s' "${buf}" | ${logger} exec ${logger} fi done if [ -f /var/run/syslogd.pid ]; then printf '%s' "${buf}" | ${logger} fi } level=${0#*/rc} case ${level} in S) action=start ;; K) action=stop ;; *) exit 1 ;; esac { for i in /etc/rc.d/${level}[0-1]*; do [ -x "${i}" ] && "${i}" ${action} 2>&1 done for i in /etc/rc.d/${level}[2-9]*; do [ -x "${i}" ] && "${i}" ${action} 2>&1 done } | log