add function extra_command (#6357)

This commit is contained in:
acooler15 2021-02-11 09:19:12 +08:00 committed by GitHub
parent e922f4a778
commit 22cfbe7faa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -62,20 +62,24 @@ depends() {
return 0 return 0
} }
ALL_HELP=""
ALL_COMMANDS="boot shutdown depends"
extra_command() {
local cmd="$1"
local help="$2"
local extra="$(printf "%-16s%s" "${cmd}" "${help}")"
ALL_HELP="${ALL_HELP}\t${extra}\n"
ALL_COMMANDS="${ALL_COMMANDS} ${cmd}"
}
help() { help() {
cat <<EOF cat <<EOF
Syntax: $initscript [command] Syntax: $initscript [command]
Available commands: Available commands:
start Start the service
stop Stop the service
restart Restart the service
reload Reload configuration files (or restart if service does not implement reload)
enable Enable service autostart
disable Disable service autostart
enabled Check if service is started on boot
$EXTRA_HELP
EOF EOF
echo -e "$ALL_HELP"
} }
# for procd # for procd
@ -103,14 +107,20 @@ service_running() {
${INIT_TRACE:+set -x} ${INIT_TRACE:+set -x}
extra_command "start" "Start the service"
extra_command "stop" "Stop the service"
extra_command "restart" "Restart the service"
extra_command "reload" "Reload configuration files (or restart if service does not implement reload)"
extra_command "enable" "Enable service autostart"
extra_command "disable" "Disable service autostart"
extra_command "enabled" "Check if service is started on boot"
. "$initscript" . "$initscript"
[ -n "$USE_PROCD" ] && { [ -n "$USE_PROCD" ] && {
EXTRA_COMMANDS="${EXTRA_COMMANDS} running status trace" extra_command "running" "Check if service is running"
EXTRA_HELP="\ extra_command "status" "Service status"
running Check if service is running extra_command "trace" "Start with syscall trace"
status Service status
${EXTRA_HELP}"
. $IPKG_INSTROOT/lib/functions/procd.sh . $IPKG_INSTROOT/lib/functions/procd.sh
basescript=$(readlink "$initscript") basescript=$(readlink "$initscript")
@ -165,6 +175,7 @@ ${EXTRA_HELP}"
} }
} }
ALL_COMMANDS="start stop reload restart boot shutdown enable disable enabled depends ${EXTRA_COMMANDS}" ALL_COMMANDS="${ALL_COMMANDS} ${EXTRA_COMMANDS}"
ALL_HELP="${ALL_HELP}${EXTRA_HELP}"
list_contains ALL_COMMANDS "$action" || action=help list_contains ALL_COMMANDS "$action" || action=help
$action "$@" $action "$@"