Обычно я работаю на компьютерах с Windows, но в некоторых случаях я переключаюсь на разработку под Linux. И мой последний проект будет полностью написан на определенных платформах linix (а не на стандартной установке Apache / MySQL / PHP). Поэтому я подумал, что стоит научиться писать какой-нибудь скрипт автоматизации Linux.
Я могу обойти систему, запускать / останавливать службы, компилировать / устанавливать вещи нормально. Это, вероятно, основные упражнения для программиста. Но если, например, я хочу ежемесячно развертывать определенное приложение на недавно выпущенной машине с Linux, я бы хотел знать, как это сделать.
Так что, если я хотел бы изучить серьезные сценарии оболочки Linux, какую книгу я должен читать?
ash
, а в очень небольших дистрибутивах обычно используются урезанные оболочки, такие как busyboxsh
.Изучение Bash Shell вместе с классическими сценариями Shell , а затем Bash Cookbook .
Я бы посоветовал пройтись по первым двум книгам, не слишком заботясь о том, чтобы все это запомнить. Называйте их так, как вы хотите, чтобы делать то, о чем вы помните, когда читали, но не помните, как на самом деле. И вернитесь к ним через несколько месяцев и узнайте у них что-то новое.
Обратите внимание, что это происходит с точки зрения администратора Linux, поэтому я склоняюсь к тонкостям bash, а не к чистому sh. Это лишь редкий сценарий, который я стараюсь сделать совместимым с sh. Кроме того, я не считаю, что tcsh является законным языком сценариев.
источник
Сценарии оболочки не являются сценариями оболочки. Разные системы имеют разные оболочки, и различия в синтаксисе и семантике значительны.
Другие упоминали Bash книги для Korn оболочки Я рекомендую О'Рейли Обучение Korn Shell . Если вам придется писать сценарии переносимых оболочек, есть также O'Reilly: Classic Shell Scripting .
На мой взгляд: написание сценариев переносимых оболочек - явный кошмар даже для людей, которые привыкли к определенной оболочке. Если вы работаете в фоновом режиме Windows, вы знакомы с основными вещами (запуск / остановка сервисов, компиляция / установка) и ваша цель - автоматизация, которую я лично придерживаюсь Perl.
В то время как у Perl есть свои недостатки, это когда дело доходит до склеивания различных частей, где он сияет. И это то, что составляет большую часть автоматизации в моем опыте. Более того, в Unix-системах Perl вездесущ.
источник
Я приобрел Ричарда Блума (Richard Blum), получившего 5-звездочный рейтинг « Командная строка для Linux и Библиотеки сценариев оболочки » от Amazon, для перехода к «серьезным сценариям оболочки», и я должен сказать, что книга произвела на меня большое впечатление. Дает вам глубокие знания о сценариях оболочки, а также о других концепциях, необходимых в этом контексте, например, о том, как работают разрешения файловой системы linux и о ваших обязательных инструментах Unix, таких как grep.
источник