spark-rc/bin/rc

71 lines
1.1 KiB
Bash
Executable File

#!/bin/bash
rc.hostname() { hostname "$cfg_hostname"; }
rc.services_start() {
local service_name start_mode
for i in "${cfg_services[@]}"; do
unset service_name
[[ "$i" =~ ^@ ]] && {
service_name="${i##*@}"
start_mode='bg'
}
[[ "$i" =~ ^% ]] && {
service_name="${i##*%}"
start_mode='watch'
}
service_name=${service_name:-$i}
start_mode="${start_mode:-start}"
case "$start_mode" in
bg) "${cfg_initscripts_dir}/$service_name" start &;;
watch) "${cfg_initscripts_dir}/$service_name" watch &;;
start) "${cfg_initscripts_dir}/$service_name" start;;
*) echo "Mode $start_mode not supported";;
esac
done
}
rc.services_stop() {
for i in "${cfg_services[@]}"; do
"${cfg_initscripts_dir}/$i" stop
done
}
rc.boot() {
rc.hostname
rc.modules
rc.services_start
}
rc.shutdown() {
rc.services_stop
}
rc.hostname() {
[[ "$cfg_hostname" ]] && { hostname "$cfg_hostname"; }
}
rc.modules() {
for i in "${cfg_modules[@]}"; do
modprobe "$i"
done
}
source "/etc/rc.conf"
action="$1"
action="${action:-boot}"
case "$action" in
boot)
echo "Welcome to `uname -rs`"
rc.boot
;;
shutdown) rc.shutdown;;
esac