>>>Bash 3.2.57 и 4.2.50
>> Но зачем?
> Между ними произошёл сдвиг семантики в нестандартизированной части, на старое поведение
> у нас закладывается часть сборочных скриптов. Их надо или аккуратно
> портировать, или перевесить на какой #!/bin/sh3, но к этому выпуску добраться
> до этой не очень приоритетной задачи ни у кого не сложилось. Михаил Шигорин очень благостно объясняет: "произошёл сдвиг семантики". Вот врачи иногда могут пояснить самые неприглядные явления так, что обывателю они покажутся верхом медицинской учености. Михаил Шигорин делает то же самое. Попробую дать немного более приземленное объяснение. В альт линуксе когда-то написали много кривых самопальных скриптов на шелле. Часть тех людей уже уволилось, и исправлять их кривые скрипты никто не хочет. Часть людей еще осталось, но, как пел Высоцкий, "лучше я пойду к ребятам пить - у ребят есть мысли поважнее". Главным агитатором переписывания всего на шелле раньше был Дмитрий Левин. Он переписал и некоторые мои куски кода, изначально написанные на перле, на что-то более шеллоподобное (на sed и т.п.). В последнее время, однако, у Дмитрия Левина имеются мысли поважнее.
В общем, обман состоит в том, что у читателя складывается неверное впечатление: 1) что ему предлагают выбор между bash3 и bash4; 2) что bash3 направлен на поддержку обратной совместимости; и 3) что bash4 предлагает новые возможности. На самом деле 1) никакого выбора нет: bash4 нельзя задействовать в качестве системного интерпретатора #!/bin/bash; 2) bash3 направлен только на локальную кривизну; в качестве меры обратной совместимости его нет ни в каких других дистрибутивах, даже RHEL6; 3) bash-4.2 уже и сам по себе устарел; в качестве свежей версии с некоторыми важными новыми возможностями можно рассматривать только bash-4.3. Если и еще некоторые другие грани этого обмана, которые я пока приберегу в рукаве.