Il y a quelque temps, j'ai écrit un script bash qui devrait maintenant pouvoir fonctionner dans l'environnement avec ash.
Dans bashc'était:
services=( "service1.service"
"service2.service"
"service3.service" )
for service in "${services[@]}"
do
START $service
done
START()
{
echo "Starting "$1
systemctl start $1
}
En réalité, il existe environ 40 services dans la gamme, et je veux rendre cette transition aussi indolore et propre que possible. J'ai toujours utilisé des bashismes. Maintenant, je suis pressé de rendre les scripts plus portables.
Pour des raisons de portabilité, il serait probablement intéressant d'avoir une ashsolution pure . Mais puisque j'ai un assez robuste busyboxà ma disposition, je pourrais sacrifier une certaine portabilité. Seulement si la lisibilité s'améliore beaucoup, car le script "propre" est aussi une métrique.
Quelle serait la solution portable et propre dans ce cas?