Нашёл OpenSource-программулину, которой реально могу помочь BASH-кодингом и скилами в LDAP (плюс немного Perl-кодингом, но не об этом речь). Там инсталлятор - это какой-то кошмарного вида скрипт от людей, знающих о Shell немного понаслышке. Понятно, я тут же начал его переделывать. Но мне как всегда уже не хватает нормального преобразования переменных к верхнему регистру и ассоциативных массивов - тех фич, без которых я лично уже не представляю себе BASH.
У меня есть три возможности:
- поддерживать два варианта кода для разных версий BASH
- писать код в стиле BASH 3-й версии, используя вместо ассоциативных массивов eval и tr для преобразования регистра
- забить на BASH 3 и писать только для BASH 4
А как бы вы поступили на моём месте?
P.S. Инсталлятор по дефолту всё равно требует BASH, так что никаких ограничений здесь нет, использовать испустивший дух лет 20 назад /bin/sh (т.е. реально просто bash в режиме совместимости) не нужно.