Я не думал, что bash-программирование было бы особенно мощным, пока не увидел, что в нем написаны все сценарии запуска ОС. Это заставило меня пересмотреть свои предположения. Теперь у меня есть несколько десятков важных сценариев оболочки, которые я написал за эти годы и которые автоматизируют некоторые общие задачи.
Например, я написал один, который опрашивает текущую среднюю нагрузку, а затем выполняет предоставленную команду, если она превышает определенное значение (полезно для изучения событий, которые происходят только один или два раза в день).
Другой, который я написал, перебирает все базы данных mysql на сервере и выводит mysqldump
для каждой в свой соответствующий файл .sql
с соответствующим именем.
Другой перебирает список homedir и меняет владельца всех файлов в соответствующем public_html
каталоге, чтобы соответствовать пользователю, которому должен принадлежать им, чтобы соответствовать ограничениям suPHP.
Другой анализирует текущую конфигурацию оборудования, загружает, устанавливает и настраивает соответствующее программное обеспечение для мониторинга работоспособности подключенного в данный момент RAID-контроллера.
Это все относительно простые задачи, которые можно выполнить вручную, но всякий раз, когда я обнаруживаю, что выполняю одну и ту же задачу более одного раза, я пишу сценарий оболочки для автоматизации процесса.
Я также построил в bash декодер base-64, чтобы посмотреть, смогу ли я. Это работает, но это очень медленно. Я использую сценарии оболочки для простых задач, которые в первую очередь включают выполнение других программ. Я часто использую Perl, когда требуется значительный объем обработки строк, и я использую Python для более сложных задач сценариев. Чем больше языков вы знаете, тем лучше вы будете выбирать правильный для работы.