sv-manage: add service listing

This commit is contained in:
crater2150 2024-07-15 12:27:39 +02:00
parent c79950ce02
commit 6a8412428b

View file

@ -62,19 +62,32 @@ sv() {
}
sv-manage() {
action=$1
shift
local action service svdir
zparseopts -D -E d:=dir -dir:=dir
svdir=${dir[2]:-${SVDIR:-/var/service}}
if [[ -z $1 ]]; then
action=list
else
action=$1
shift
fi
case "$action" in
add)
for service in "$@"; do
ln -s ${SVDIR_TEMPLATES:-/etc/sv}/${service:s#/##} ${SVDIR:-/var/service}
ln -s ${SVDIR_TEMPLATES:-/etc/sv}/${service:s#/##} ${svdir}
done
;;
remove|rm)
for service in "$@"; do
rm ${SVDIR:-/var/service}/${service:s#/##}
rm ${svdir}/${service:s#/##}
done
;;
list|ls)
sv status ${svdir}/* | sed "
s@${svdir}/@@
s@run@\x1b[1;92mrun\x1b[0m@g
s@down@\x1b[1;31mdown\x1b[0m@g
" | column -t
esac
}