कुछ समय पहले मैंने एक बैश स्क्रिप्ट लिखी है जो अब पर्यावरण के साथ चलना चाहिए ash।
इस bashतरह था:
services=( "service1.service"
"service2.service"
"service3.service" )
for service in "${services[@]}"
do
START $service
done
START()
{
echo "Starting "$1
systemctl start $1
}
वास्तव में सरणी में 40 सेवाएं हैं, और मैं इस संक्रमण को जितना संभव हो उतना दर्द रहित और साफ करना चाहता हूं। हमेशा bashआईएमएस का उपयोग करते रहे हैं । अब मैं स्क्रिप्ट को अधिक पोर्टेबल बनाने के लिए कार्य के साथ एक चुटकी में हूं।
पोर्टेबिलिटी के कारणों के लिए शायद शुद्ध ashसमाधान करना अच्छा होगा । लेकिन जब से मैं busyboxअपने निपटान में एक बहुत मजबूत है मैं कुछ पोर्टेबिलिटी बलिदान कर सकता है। केवल अगर पठनीयता में बहुत सुधार होता है, क्योंकि "क्लीन" स्क्रिप्ट एक मीट्रिक भी है।
इस मामले में पोर्टेबल और स्वच्छ समाधान क्या होगा ?