rc2dinit/enabled-service-order.sh
MahnoKropotkinvich 67addcc131 modified
2025-05-09 04:44:34 +00:00

42 lines
1.1 KiB
Bash
Executable File

#!/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})
. /etc/rc.conf
# Function to check if service is enabled
is_service_enabled() {
local script=$1
local service_name=$(basename "$script")
# local disabled="false"
# First check /etc/rc.conf
# if grep -q "^${service_name}=NO" /etc/rc.conf 2>/dev/null; then
# # return 1
# disabled=true
# fi
# # Then check /etc/defaults/rc.conf
# if grep -q "^${service_name}=NO" /etc/defaults/rc.conf 2>/dev/null; then
# # return 1
# fi
eval "value=\$$service_name"
if [ "$value" = "NO" ]; then
return 1
fi
return 0
}
# 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 "$script"
fi
done