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
}
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() {
cat <<EOF
Syntax: $initscript [command]
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
echo -e "$ALL_HELP"
}
# for procd
@ -103,14 +107,20 @@ service_running() {
${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"
[ -n "$USE_PROCD" ] && {
EXTRA_COMMANDS="${EXTRA_COMMANDS} running status trace"
EXTRA_HELP="\
running Check if service is running
status Service status
${EXTRA_HELP}"
extra_command "running" "Check if service is running"
extra_command "status" "Service status"
extra_command "trace" "Start with syscall trace"
. $IPKG_INSTROOT/lib/functions/procd.sh
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
$action "$@"