Ответ 1
Исторически между оболочками C (CSH и TCSH) и Bash существовала какая-то пламенная посуда. Жалоба на варианты CSH заключается в том, что они плохо подходят для сценариев.
За годы, когда я был наркоманом CLI, я никогда не делал ни одного автономного скрипта, в котором был выбран язык скриптов, потому что это была моя оболочка.
Я написал множество сценариев, которые можно разделить на две категории:
- Те, которые помогают моей производительности командной строки
- Те, которые не имеют прямого отношения к моей производительности командной строки.
Скрипты в категории 1. почти всегда пишутся на моем языке сценариев оболочки (часто в качестве функций, поскольку я использую ZSH и ранее использовал BASH, обе из которых поддерживают функции).
Сценарии в категории 2. написаны так, как кажется наиболее эффективным (учитывается как время разработки, так и время выполнения). Я часто пишу небольшие скрипты на Perl, C (очевидно, скомпилированные), BASH/ZSH/SH или что-то еще, что я хочу. Я написал немного сценариев на Python (но не очень) и даже иногда прибегал к Java (снова скомпилировано).
Так о чем я болтаю? Не основывайте свой выбор оболочки на ее автономных скриптовых возможностях. Выберите свою оболочку для ее полезности для вас в качестве оболочки. Сценарий во всем остальном вы выбираете. Вы, вероятно, будете достаточно хороши с BASH в качестве вашей оболочки (хотя мне нравится ZSH немного больше, **/* глобализация хороша и некоторые другие мелочи, но большинство скриптов, которые я написал для ZSH, рано идентичны их BASH двойники).