Каково ваше объяснение, когда писать сценарий Bash, а когда использовать более мощный язык сценариев (Python, Perl, Ruby, ...)?
Я считаю, что очень простые сценарии лучше работают с Bash, но многие из них со временем становятся довольно причудливыми, и переписывать все это никогда не кажется хорошей идеей. Вот почему я склоняюсь к тому, чтобы всегда использовать Python для всех сценариев.
Но поскольку Bash, кажется, является языком сценариев Linux, может ли это сделать ответственный системный администратор?
Ответ на этот вопрос всегда сводится к тому, чтобы «использовать то, что вы знаете». В зависимости от цели я регулярно пишу более чем на полдюжине разных языков. Большинство людей здесь, вероятно, скажут то же самое.
Некоторые инструменты / среды могут быть немного лучше адаптированы к определенным задачам, чем другие, но когда дело доходит до различения bash, python, perl и ruby (и т.п.) для административных сценариев, вы должны учитывать (если не одобрять) человеческий фактор:
Если среды в равной степени доступны в ваших системах и если многие языки соответствуют требованиям, выберите тот, с которым вам удобнее всего. Зачем? Это сократит время разработки, упростит отладку, повысит ремонтопригодность и, по крайней мере, не снизит удобство использования в учреждениях.
Мое субъективное предпочтение тоже относится к bash, но это не имеет значения: это только мой выбор, потому что мне это нравится (скажем, я знаю, как манипулировать iptables
без поиска документации).
Кроме того, используйте правильный инструмент для работы. Ваша проблема требует более гибких структур данных, чем предоставляет bash?