aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Egorenkov <egorenar-dev@posteo.net>2021-03-28 10:45:08 +0200
committerHauke Mehrtens <hauke@hauke-m.de>2021-04-18 12:05:54 +0200
commiteaf19220b67d83c4c596fa21890abf5af9b4a610 (patch)
tree1b3e28a8ff8785e21ad885ceac8521b54c4e24e0
parentab610f5af30bbdd937f4e8d93bb718b25b589d00 (diff)
downloadupstream-eaf19220b67d83c4c596fa21890abf5af9b4a610.tar.gz
upstream-eaf19220b67d83c4c596fa21890abf5af9b4a610.tar.bz2
upstream-eaf19220b67d83c4c596fa21890abf5af9b4a610.zip
base-files: fix status display command
If service() is called w/o parameter then the status display for services with multiple instances is incorrect. E.g. samba4 or wpad have 2 instances. root@OpenWrt:~# /etc/init.d/samba4 status running root@OpenWrt:~# /etc/init.d/wpad status running Before change: /etc/init.d/samba4 enabled stopped /etc/init.d/wpad enabled stopped After change: /etc/init.d/samba4 enabled running /etc/init.d/wpad enabled running Signed-off-by: Alexander Egorenkov <egorenar-dev@posteo.net> (cherry picked from commit 9318f61556c5443eb66eec7e26715b00f0df86fc)
-rw-r--r--package/base-files/files/etc/shinit2
1 files changed, 1 insertions, 1 deletions
diff --git a/package/base-files/files/etc/shinit b/package/base-files/files/etc/shinit
index 8c64e81563..0a1ebcc832 100644
--- a/package/base-files/files/etc/shinit
+++ b/package/base-files/files/etc/shinit
@@ -22,7 +22,7 @@ service() {
printf "%-30s\t%10s\t%10s\n" "$F" \
$( $($F enabled) && echo "enabled" || echo "disabled" ) \
$( [ "$(ubus call service list "{ 'verbose': true, 'name': '$(basename $F)' }" \
- | jsonfilter -q -e "@.$(basename $F).instances[*].running")" = "true" ] \
+ | jsonfilter -q -e "@.$(basename $F).instances[*].running" | uniq)" = "true" ] \
&& echo "running" || echo "stopped" )
done;
return 1