Практические задания для изучения сценариев оболочки [закрыто]

12

Я ищу некоторые распространенные проблемы в системном администрировании Unix и способы их решения с помощью сценариев оболочки. Полностью для самообразовательных целей. Также я хотел бы знать, как вы будете изучать сценарии оболочки.

Eimantas
источник

Ответы:

15

Каждый раз, когда вы когда-либо обнаруживаете, что делаете что-то несколько раз, пишите сценарий. Думай как можно ленивее. Компьютеры были построены, чтобы делать всю эту чертову чушь. Любая вещь, которая пахнет как занятая работа, нуждается в сценарии оболочки.

Лично я учился, роясь в Slackware пару лет. Посмотрите, что произойдет, когда вы лишите свою систему как можно больше. Учитесь чувствовать себя комфортно с текстом. В то время как все остальные суетятся над NetworkManager, узнайте, как просто сделать свой собственный проклятый NetworkManager. Конечно, у него может быть не так много вариантов использования, но вы можете запустить и запустить что-то, достаточно просто динамически подключаясь через Ethernet и по запросу.

Эли Фрей
источник
6

Я хотел бы еще раз порекомендовать три книги, которые я предложил в другой ветке, по моему мнению, это лучшие книги, чтобы проникнуться духом Unix:

  • Среда программирования Unix от Kernighan и Pike
  • Unix для нетерпеливых
  • Электроинструмент O'Reilly для Unix.

Первый - старый, очень старый, но он лаконичен, кратко читается и предоставит вам необходимые оболочки (регулярные выражения, sed, конвейеры).

Второй невероятно интересный.

Третий - это коллекция «лучших» трюков от мастеров Unix 90-х (именно тогда я и прочитал). Книга продолжает редактироваться, поэтому я уверен, что она содержит много новых самородков.

miguel.de.icaza
источник
+1 для среды программирования Unix. Прочитав это, внезапно Unix приобрел для меня намного больший смысл. Немного откровения :-)
Dr-Jan
Среда программирования Unix - одна из немногих книг, которая вообще охватывает «здесь документы». С «вот документами» вы можете многое сделать, что многие считают невозможным сделать в одном файле.
Брюс Эдигер
4

В руководстве Advanced Bash-Scripting имеется множество полезной информации , и оно часто обновляется, чтобы оставаться в курсе событий.

Аарон Боковер
источник
2

Как научиться этому: влюбиться в командную строку. Используйте его регулярно и часто открывайте справочные страницы. Часто даже. Когда я только начинал изучать сценарии, я не мог сосчитать, сколько раз я печатал man bash. Я также не мог сосчитать, сколько раз я открывал справочную страницу для другой команды.

Кевин М
источник
1
+1 Кевину. Я научился писать сценарии таким же образом. Сценарий, как правило, заключается в том, что мне нужно будет обработать эти файлы данных COBOL (да, это было далеко назад ... но это COBOL в UNIX, а не в мейнфреймах !!). Вместо того, чтобы запускать код COBOL, я запускал awk (даже не perl, поскольку он не был установлен на нашем сервере) и выполнял такие действия, как отчет из 50 лучших клиентов :-)
Я использую xterm(или любой терминал, если это имеет значение) в качестве основного файлового менеджера. Таким образом, я все время заставлял себя использовать оболочку, что заставляло меня учиться и разрабатывать некоторые приемы с течением времени.
Денилсон Са Майя
2

Я узнал об этом, написав инструмент мониторинга. Он будет подключаться к множеству машин через ssh и собирать данные, такие как время безотказной работы, загрузка, количество активных соединений, использование памяти и тому подобное. На моем локальном компьютере эти данные будут показаны в виде текстовой таблицы.

EricSchaefer
источник
1

Я повторяю рекомендацию Мигеля «Среда программирования Unix». Он действительно старый, но, как я узнал почти все, что я знаю о оболочке, и потому что он такой старый, вы можете получить его всего за несколько долларов на Амазонке: http://is.gd/eiSn6

jacksonh
источник
0

Найдите книгу или руководство и относитесь к выбранной вами оболочке как к языку программирования, потому что это так. (Ну, может быть, не csh ...)

Для начала, узнайте, как определить, используете ли вы оболочку Bash, Bourne, csh, zsh или что-то еще. Некоторые из них похожи друг на друга, как C и C ++ - обманчиво разные - поэтому знание того, с кем вы боретесь, поможет вам найти примеры и руководства, которые действительно помогут в данной ситуации.


источник