Языки оболочки Unix все уродливы. Некоторые особенно (csh), некоторые могут быть немного меньше (ksh? Я не знаю, на самом деле), но на самом деле, когда речь идет о таких аспектах, как читаемость и жесткость для больших проектов, ни один из них не может приблизиться к хорошо известным, предназначенные для общего использования, такие как Python, C # или Haskell. Итак, когда вы хотите что-то твердое, вы никогда не будете выбирать какой-либо из оболочек.
Вы сами выбираете их, когда хотите быстро получить простые вещи. Для этого вам нужно:
Краткий синтаксис и достаточная согласованность, чтобы вы могли запомнить его (трудно найти сокращенные операторы). Это очень важно, если ваша оболочка установлена повсюду, потому что вы действительно не запоминаете больше, чем один из этих монстров-монстров. Хорошие интерактивные функции, поэтому вы можете взломать прямо в терминал и получить работу, не переходя между несколькими файлами сценариев. Возможность захватить любой фрагмент скрипта из любого места и заставить его работать. sh совместимость - большой плюс здесь, и снова более популярный, тем лучше.Итак, вы видите, что популярность - это скорее большая точка в этих языках оболочки, чем для языков общего назначения. Следовательно, даже если ksh бит “ лучше ” как язык сам по себе, на самом деле не так много преимуществ при использовании, если bash является чуть более популярным (что было в соответствующем секторе, поскольку он был впервые выбран как значение по умолчанию для GNU).
Люди, которые делают переключатель, намерены об этом и достаточно опытны, чтобы легко переходить на свою любимую оболочку. OTOH, новобранец, который вынужден работать с менее популярной оболочкой, будет быстро запутаться, если они попросят интернет что-то, и это не сработает. Следовательно, любой дистрибутив, который не только нацелен на ветеранов Unix, имеет довольно большой риск, если он делает что-либо, кроме bash стандарта, шаг, из которого сравнительно мало людей выиграют (и только немного).