svc

Unnamed repository; edit this file 'description' to name the repository.
Дневник | Датотеке | Референце | ПРОЧИТАЈМЕ | ЛИЦЕНЦА

чување 761ea94fd8802390930ac0d329886b0499e138f3
родитељ 1b6db2e47d35f67db3d659b90887088b5d0ffec5
Аутор: Страхиња Радић <contact@strahinja.org>
Датум:   Mon, 18 Jul 2022 15:06:26 +0200

Clear distinction: svc -> unixy command, service -> user friendly command

Signed-off-by: Страхиња Радић <contact@strahinja.org>

Diffstat:
Mbin/service | 39++++++++++++++++++++++++++++-----------
Mbin/svc | 9++++++---
измењених датотека: 2, додавања: 34(+), брисања: 14(-)

diff --git a/bin/service b/bin/service @@ -1,10 +1,14 @@ #!/bin/sh +# "User friendly" command + # $?: # 0: OK # 1: Redundant # 2: Error +[ -e /lib/g_fun.sh ] && . /lib/g_fun.sh + if [ $# -lt 2 ]; then printf "usage: %s [exists|start|stop|restart] service\n" "${0##*/}" >&2 @@ -14,16 +18,29 @@ fi cmd="$1" service="$2" +errno() +{ + return $1 +} + +msg serv "Starting %s\t\t\t" ${service##*/} case "$cmd" in -exis*) svc -e "${service}" - exit $?;; -sta*) svc -s "${service}" - exit $?;; -sto*) svc -k "${service}" - exit $?;; -r*) svc -r "${service}" - exit $?;; -*) printf "usage: %s [start|stop|restart] service\n" "$(basename "$0")" \ - >&2 - exit 2;; +e*) svc -e "${service}";; +sta*) svc -s "${service}";; +sto*) svc -k "${service}";; +r*) svc -r "${service}";; +*) errno 3;; +esac +case $? in + 0) printf "${green}( ${white}OK${norm} ${green})${norm}\n";; + 1) printf "${green}(RNNG)${norm}\n" + exit 1;; + 2) printf "${green}(${lred}FAIL${norm}${green})${norm}\n" + exit 2;; + 3) printf "${green}(${lred}FAIL${norm}${green})${norm}\n" + printf "usage: %s [exitst|start|stop|restart] service\n" \ + "$(basename "$0")" >&2 + exit 3;; + *) printf "${green}(${yellow} ?? ${norm}${green})${norm}\n" + exit 2;; esac diff --git a/bin/svc b/bin/svc @@ -3,6 +3,8 @@ # See LICENSE file for license details. # +# "Quiet" command + # $?: # 0: OK # 1: Redundant @@ -15,7 +17,7 @@ BASENAME="$(basename $0)" cd $BASEDIR usage() { - printf "usage: %s [-acdklrs] [service]\n" "$BASENAME" >&2 + printf "usage: %s [-acedklrs] [service]\n" "$BASENAME" >&2 exit 2 } @@ -32,10 +34,10 @@ runservice() { if [ $(stat -L -t "${dir}/${service}" | cut -d' ' -f 2) -eq 0 ]; then "./bare.sh" "${service}" "${cmd}" >/dev/null 2>&1 - exit $? + return $? else "${dir}/${service}" "${cmd}" >/dev/null 2>&1 - exit $? + return $? fi } @@ -53,6 +55,7 @@ doservice() { if [ -x "avail/${service}" ]; then runservice "${service}" avail "${cmd}" + exit $? else printf "%s: '%s' is not available or executable.\n" \ "${BASENAME}" "${service}" >&2