base-files: shinit: properly handle dashes in service names
authorJo-Philipp Wich <jo@mein.io>
Wed, 12 May 2021 10:44:32 +0000 (12:44 +0200)
committerJo-Philipp Wich <jo@mein.io>
Wed, 12 May 2021 10:45:38 +0000 (12:45 +0200)
Fixes: FS#3801
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 75ea878d1ba05610121a732dc0abf7c914e83ca1)

package/base-files/files/etc/shinit

index 0a1ebcc..6b682d8 100644 (file)
@@ -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" | uniq)" = "true" ] \
+                       | jsonfilter -q -e "@['$(basename $F)'].instances[*].running" | uniq)" = "true" ] \
                        && echo "running" || echo "stopped" )
                done;
                return 1