[Description]
Ни для кого не секрет, что bash, как и python скриптовый язык программирования. Но кто и когда их использует? И что же все-таки удобнее? Сейчас разберёмся.
Bash
Из коробки поддерживается в gnu, unix системах. Его используют сисадмины для легкой и средней по сложности автоматизации. А если он используется под windows, то только через wsl.
Bash — усовершенствованная и модернизированная вариация командной оболочки Bourne shell. Одна из наиболее популярных современных разновидностей командной оболочки UNIX. Особенно популярна в среде Linux, где она часто используется в качестве предустановленной командной оболочки.
Синтаксис не C образный, а большие участки кода читаются совсем не просто. Конструкции if else прописываются почти как в pascal, что неудобно и мешает чтению. Со скобками тут творится ад. Они могут быть такими: “[]”, “[[]]”, “(())”; И каждая из них может использоваться, выполняя свою функцию. Сравнения чисел не менее странные: “-eq”, “-ne”, “-ge” и тд. Они могут принимать и более привычный вид: “>”, “==”, “>=”, в зависимости от типа сравниваемых значений и используемых скобок.
Из интересного, 0 здесь означает истину (в других языках - ложь). Каждая команда, которую вы вызываете вне конструкции $(command), оставляет лог в консоли. Чтобы сохранить результат её выполнения без "следа" в консоли, нужно поместить имя команды между скобок. Из плюсов баша: легко обратиться к аргументам скрипта ($<номер аргумента, где 0 - имя скрипта>). ООП отсутствует.
Пример кода:
Python
Используется под любой ОС, универсален, имеет легко читаемый синтаксис. Прост в плане обучения. Из-за своих плюсов стал очень популярным и обзавёлся множеством библиотек. ООП присутствует. Python используют практически везде, на нем можно написать любую по сложности автоматизацию и под любую ос. Странностей почти нет (хотя время от времени они, разумеется, встречаются).
Чем хорош синтаксис? Вместо скобок используются отступы (табы). Отсутствие кучи скобок в условных выражениях значительно улучшает читаемость, а арифметические операции просты и понятны (*, /, +=, %).
Пример кода:
Что выбрать?
Если у вас есть желание выучить своеобразный язык для работы с оболочками linux и mac os, то почему бы и нет? Это достаточно интересно. Для небольшого скрипта, используемого только вами, bash неплох. Как только скрипт становится больше, становится заметно меньше смысла продолжать расширение функционала и доработку. Самым разумным выбором является использование python, так как он красивее, легче и что самое главное - более востребован.