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-03 18:56:02 +0200
commit9318f61556c5443eb66eec7e26715b00f0df86fc (patch)
treee73c714c5c9dd27440d792746fb5c695cd9ebd94
parentaab3a04ce87c27996b7ce9ea306db8c6eed86941 (diff)
downloadupstream-9318f61556c5443eb66eec7e26715b00f0df86fc.tar.gz
upstream-9318f61556c5443eb66eec7e26715b00f0df86fc.tar.bz2
upstream-9318f61556c5443eb66eec7e26715b00f0df86fc.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>
-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