[pakcage] simplify action handling in rc.common (#5558)

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@17012 3c298f89-4303-0410-b956-a3cf2f4a3e73
master
Florian Fainelli 2009-07-26 12:34:09 +00:00
parent 5556ec2976
commit a1ae0405b2
1 changed files with 9 additions and 23 deletions

View File

@ -1,8 +1,12 @@
#!/bin/sh #!/bin/sh
# Copyright (C) 2006 OpenWrt.org # Copyright (C) 2006-2009 OpenWrt.org
. $IPKG_INSTROOT/etc/functions.sh . $IPKG_INSTROOT/etc/functions.sh
initscript=$1
action=${2:-help}
shift 2
start() { start() {
return 0 return 0
} }
@ -66,27 +70,9 @@ $EXTRA_HELP
EOF EOF
} }
initscript="$1"
[ "$#" -ge 1 ] && shift
action="$1"
[ "$#" -ge 1 ] && shift
. "$initscript" . "$initscript"
cmds= ALL_COMMANDS="start stop reload restart boot shutdown enable disable enabled depends ${EXTRA_COMMANDS}"
for cmd in $EXTRA_COMMANDS; do list_contains ALL_COMMANDS "$action" || action=help
cmds="${cmds:+$cmds$N}$cmd) $cmd \"\$@\";;" [ "$action" == reload ] && action='eval reload "$@" || restart "$@" && :'
done $action "$@"
eval "case \"\$action\" in
start) start \"\$@\";;
stop) stop \"\$@\";;
reload) reload \"\$@\" || restart \"\$@\";;
restart) restart \"\$@\";;
boot) boot \"\$@\";;
shutdown) shutdown \"\$@\";;
enable) enable \"\$@\";;
enabled) enabled \"\$@\";;
disable) disable \"\$@\";;
$cmds
*) help;;
esac"