В последнее время я решил перейти от использования bash к python для написания шелл скриптов.
Я работаю программистом, использую git и у меня есть много рутинных операций, которые хотелось бы автоматизировать.
Сейчас я использую bash только для простых скриптов (где нет условных переходов и циклов)
Кода на python выходит немного больше, но он лучше читается. Соответственно поддерживать и расширять код становится проще.
Кроме того есть много полезных стандартных модулей. Начал писать свои для повторного использования.
Есть какие нибудь хорошие cтатьи/книжки про то как писать хорошие shell скрипты? Что то вроде принципов объектно-ориентированнного дизайна, только применимо к shell скриптам.
У меня сейчас в основном проблемы с парсингом вывода других команд.
Оно превращается в малопонятную кашу из условных операторов и работой со строками
Наверное нужно будет освоить regex-ы
Полезные ссылки:
Теория
Tips & Tricks
shutil — High-level file operations
glob — Unix style pathname pattern expansion
[Advanced shell scripting] Как научиться писать хорошие shell скрипты?
Модератор: Модераторы разделов
-
- Сообщения: 22
- ОС: Ubuntu 10.04
[Advanced shell scripting] Как научиться писать хорошие shell скрипты?
Ubuntu 10.04 amd64 C2DQ6600
-
- Модератор
- Сообщения: 4824
- Статус: фанат консоли (=
- ОС: GNU/Debian, RHEL
Re: [Advanced shell scripting] Как научиться писать хорошие shell скрипты?
При парсинге чего бы то ни было, это основное, что нужно. Там не так всё уж сложно и страшно.
На эту тему можно нужно почитать: google://фриддл регулярные выражения.
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
The more you believe you don't do mistakes, the more bugs are in your code.
-
- Сообщения: 22
- ОС: Ubuntu 10.04
Re: [Advanced shell scripting] Как научиться писать хорошие shell скрипты?
Книгу скачал, начал изучать.
Ubuntu 10.04 amd64 C2DQ6600
-
- Бывший модератор
- Сообщения: 7390
- Статус: думающий о вечном
- ОС: Debian, LMDE
Re: [Advanced shell scripting] Как научиться писать хорошие shell скрипты?
Python это не shell.
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
-
- Сообщения: 203
- ОС: RFRemix
-
- Сообщения: 22
- ОС: Ubuntu 10.04
Re: [Advanced shell scripting] Как научиться писать хорошие shell скрипты?
В Python есть мощные коллекции и итераторы, map/reduse и прочее ФП.
Через возможности обработки списков я сейчас пишу скрипт для редеплоя maven артифактов на сервере. Если нарушить порядок деплоя, зависимые артефакты будут использовать старые версии других артефактов.
Сомневаюсь, что это можно так же красиво реализовать на баше.
Через возможности обработки списков я сейчас пишу скрипт для редеплоя maven артифактов на сервере. Если нарушить порядок деплоя, зависимые артефакты будут использовать старые версии других артефактов.
Сомневаюсь, что это можно так же красиво реализовать на баше.
Ubuntu 10.04 amd64 C2DQ6600
-
- Бывший модератор
- Сообщения: 4038
- Статус: Искусственный интеллект (pre-alpha)
- ОС: Debian GNU/Linux
Re: [Advanced shell scripting] Как научиться писать хорошие shell скрипты?
Для поддержания «порядка деплоя» и вообще порядка выполнения чего-либо, есть make.
Списки и итераторы — сильное место shell, ибо любой текстовый поток — суть итератор по строкам, а как интерпретировать строки — ваше дело. И весь набор стандартных утилит на это расчитан.
Хм… Так всё-таки, «научиться писать хорошие shell-скрипты» или «научиться писать хорошие python-скрипты»?
Мои розовые очки