Есть ли какое-либо преимущество в использовании нескольких различных видов оболочек в одной работе?
Маловероятно.
Основные различия между этими оболочками, особенно в этом масштабе, просто будет их синтаксис.В частности, csh использует более "C-подобный" синтаксис для определенных управляющих структур, таких как if
и for
;ksh будет больше похож на синтаксис Bash, с которым вы, вероятно, знакомы.Их наборы функций по существу идентичны.
Наиболее вероятная причина использования этих интерпретаторов проста: сценарии были написаны разными авторами задолго до того, как возник консенсус относительно использования оболочки Bash.(Если они достаточно взрослые, даже возможно, что Bash не существовало в то время - csh и ksh были выпущены в 1978 и 1983 годах, тогда как Bash появился только в 1989 году.)