From 81f3f4a1df46ec0b77b724607c3faac696cd66b9 Mon Sep 17 00:00:00 2001 From: MahnoKropotkinvich Date: Sun, 27 Apr 2025 09:30:39 +0000 Subject: [PATCH] add files --- enabled-service-order.sh | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 enabled-service-order.sh diff --git a/enabled-service-order.sh b/enabled-service-order.sh new file mode 100644 index 0000000..6f9da27 --- /dev/null +++ b/enabled-service-order.sh @@ -0,0 +1,38 @@ +#!/bin/sh + +# Get all rc.d scripts +scripts=$(for rcd in /etc/rc.d; do + test -d ${rcd} && echo ${rcd}/*; +done) + +# Get ordered list using rcorder +ordered_scripts=$(rcorder -s nostart ${scripts}) + +# Function to check if service is enabled +is_service_enabled() { + local script=$1 + local service_name=$(basename "$script") + + # First check /etc/rc.conf + if grep -q "^${service_name}=YES" /etc/rc.conf 2>/dev/null; then + return 0 + fi + + # Then check /etc/defaults/rc.conf + if grep -q "^${service_name}=YES" /etc/defaults/rc.conf 2>/dev/null; then + return 0 + fi + + return 1 +} + +# Filter and display enabled services in order +echo "Enabled services in boot order:" +echo "------------------------------" +for script in ${ordered_scripts}; do + if is_service_enabled "$script"; then + # Extract PROVIDE line to show service name + provide=$(grep "^# PROVIDE:" "$script" | cut -d: -f2-) + echo "$(basename "$script")${provide:+ ($provide)}" + fi +done \ No newline at end of file