From 9318f61556c5443eb66eec7e26715b00f0df86fc Mon Sep 17 00:00:00 2001 From: Alexander Egorenkov Date: Sun, 28 Mar 2021 10:45:08 +0200 Subject: [PATCH] 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 --- package/base-files/files/etc/shinit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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