Jakiś czas temu napisałem skrypt bash, który powinien być teraz w stanie działać w środowisku ash
.
W bash
tym było jak:
services=( "service1.service"
"service2.service"
"service3.service" )
for service in "${services[@]}"
do
START $service
done
START()
{
echo "Starting "$1
systemctl start $1
}
W rzeczywistości w tablicy jest około 40 usług i chcę, aby przejście to było jak najbardziej bezbolesne i czyste. Zawsze bash
używałem isms. Teraz mam problem z tym, aby skrypty były bardziej przenośne.
Ze względu na przenośność prawdopodobnie dobrze byłoby mieć czyste ash
rozwiązanie. Ale ponieważ mam do dyspozycji dość solidny sprzęt, busybox
mogę poświęcić pewną przenośność. Tylko wtedy, gdy poprawia się czytelność, ponieważ „czysty” skrypt jest również miernikiem.
Co byłoby przenośnym i czystym rozwiązaniem w tym przypadku?