Qualche tempo fa ho scritto uno script bash che ora dovrebbe essere in grado di funzionare in ambiente ash
.
In bash
esso era come:
services=( "service1.service"
"service2.service"
"service3.service" )
for service in "${services[@]}"
do
START $service
done
START()
{
echo "Starting "$1
systemctl start $1
}
In realtà ci sono circa 40 servizi in array e voglio rendere questa transizione il più indolore e pulita possibile. Ho sempre usato gli bash
ismi. Ora sono in difficoltà con il compito di rendere gli script più portatili.
Per motivi di portabilità probabilmente sarebbe bello avere una ash
soluzione pura . Ma dal momento che ne ho una abbastanza robusta busybox
, potrei sacrificare un po 'di portabilità. Solo se la leggibilità migliora molto, poiché anche lo script "clean" è una metrica.
Quale sarebbe la soluzione portatile e pulita in questo caso?