diff options
author | Alexander Egorenkov <egorenar-dev@posteo.net> | 2021-03-28 10:45:08 +0200 |
---|---|---|
committer | Hauke Mehrtens <hauke@hauke-m.de> | 2021-04-03 18:56:02 +0200 |
commit | 9318f61556c5443eb66eec7e26715b00f0df86fc (patch) | |
tree | e73c714c5c9dd27440d792746fb5c695cd9ebd94 | |
parent | aab3a04ce87c27996b7ce9ea306db8c6eed86941 (diff) | |
download | upstream-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/shinit | 2 |
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 |