Некоторое время назад я написал скрипт bash, который теперь должен работать в среде с 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
isms. Теперь я в затруднении с задачей сделать скрипты более переносимыми.
По причинам переносимости, вероятно, было бы неплохо иметь чистое ash
решение. Но так как busybox
в моем распоряжении есть достаточно надежный инструмент, я могу пожертвовать некоторой переносимостью. Только если читаемость значительно улучшится, так как «чистый» скрипт тоже показатель.
Каким было бы портативное и чистое решение в этом случае?