LINUX.ORG.RU

Python vs Bash

 ,


1

2

Друзья, что лучше выбрать для администрирования?

Сейчас используется php + bash, что хотелось бы переписать на что-то более функциональное - php + python.

Также хотелось бы использовать python в обыденных линуксовых задачах. Да и с питоном можно пролезть как можно дальше )

Симлинки, хардлинки, overlayfs, создание пользователей, удаление пользователей, копирование, перемещение, удаление.

Zabbix, ansible, elk, эксплоиты и тд

Что думаете?

★★

sh + python
sh потому что работает везде, python потому что лучше встроенных оболочек.

anonymous ()
Ответ на: комментарий от gasinvein

Симлинки, хардлинки, overlayfs, создание пользователей, удаление пользователей, копирование, перемещение, удаление и тд

BitSum ★★ ()

что лучше выбрать

то, что нравится тебе.

Deleted ()

Некорректная постановка вопроса, браток. Perl учи давай, пока это не стало мейнстримом.

perl5_guy ★★★★★ ()

что лучше выбрать для администрирования?

Ansible

alpha ★★★★★ ()

Основа администрирования - bash
Все, что на bash делается через пятую точку - python. Например, работа с json, особые манипуляции с данными и т. п.
Это если ты, конечно, не хочешь стать сугубо админом локалхоста.

Kroz ★★★★★ ()

Удобнее, однозначно, питон.
Но баш есть по умолчанию в каждом унитазе.

Если для своих нужд (не для продакшна), то имхо бери пистон.
Кстати, веб тоже на нем же можно замутить.

Novator ★★★★★ ()
Последнее исправление: Novator (всего исправлений: 1)

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

А линуксоидам баша за глаза хватает.

anonymous ()

Во многих интерпретаторах лиспа есть режим оболочки. Т.е. их гипотетически можно использовать как login-shell. Может кто и использует.

Скриптон гипотетически можно использовать для администрирования. Может кто и использует.

Для человека с молотком всё вокруг гвозди (c)

anonymous ()
Ответ на: комментарий от Novator

Если для своих нужд (не для продакшна)

Чем плох в проде питон?

BitSum ★★ ()
Ответ на: комментарий от iljuase

Лучше связку python + bash.

Симлинки, хардлинки, overlayfs, создание пользователей, удаление пользователей, копирование, перемещение, удаление.

Zabbix, ansible, elk, эксплоиты и тд

Просто с питоном можно куда угодно, но практически всё перечисленное и на баше работает

BitSum ★★ ()
Ответ на: комментарий от BitSum

Для скриптов есть баш, а то, что не может баш, решается при помощи С.

Пхытонисты пусть сосут.

anonymous ()
Ответ на: комментарий от anonymous

Почему ты сравниваешь божественный пистон с пхп, поехавший что ли? Нет сишника не любящего пистон на свете — ты поддельный, фейковый.

anonymous ()
Ответ на: комментарий от anonymous

С какого дуба ты рухнул? Я про говнопыхпых вообще ничего не говорил, а лишь сказал, что пхытон - это поделка для сраных вантузоидов.

Нет сишника не любящего пистон на свете

Ты идиот что ли? Какой сишник может любить пхытон? Если человек - сишник, ему другие ЯП нафиг не сдались, т.к. С решает абсолютно все!!!

Пыхпых же вообще непонятно зачем упомянут, это совсем уж для поехавших.

anonymous ()
Ответ на: комментарий от BitSum

Кто ещё тут поехавший

Ты, понятное дело. Потому что пыхпых зачем-то пользуешь. Чем тебя С не устраивает?

anonymous ()

На выше отписавшихся сегодня галоперидола не хватило? Люди в здравом уме инструмент под задачу берут, а не устраивают сектанство, брызжа слюной

JAkutenshi ★★ ()

Бери, что удобнее.

Для себя использую правилно «Если скрипт на баше вылез за 100 строк, то самое время переписать на питоне»

Но пыха для админки это что-то экзотическое :)

PunkoIvan ★★★★ ()
Ответ на: комментарий от JAkutenshi

Люди в здравом уме инструмент под задачу берут

Всегда нравилась эта фраза. Откуда я могу знать то, на сколько я делаю правильный выбор? У меня есть задача, есть выбор из инструмента и очень мало свободного времени на изучение целого языка.

BitSum ★★ ()
Ответ на: комментарий от BitSum

Клиент-серверное приложение

А причем тут пхп?

дергает скрипты из браузера на соседней машине.

Это как? Подключается к браузеру?

KillTheCat ★★★★★ ()
Ответ на: комментарий от JAkutenshi

Увы, пистон имеет отставание на 3-4 порядка на большинстве задач, особенно это заметно на мультипоточных алгоритмах разного рода. Корутины это конечно хорошо, но на реальных вычислениях будет проседать только в путь. Поэтому я могу понять фанатичную неприязнь такого божественно-удобного инструмента.

Но это компенсируется простотой и скоростью разработки и использования. Писать проект с десятками сторонних библиотек там, где можно написать однострочник на питоне, конечно, излишне как правило. У меня проблемы возникали только когда мне хотелось выполнить задачу 10000 раз за то же время и на тех же ресурсах, приходилось всё переписывать (благо код на питоне может служить в качестве прототипа).

anonymous ()
Ответ на: комментарий от KillTheCat

Это как? Подключается к браузеру?

Верно. Пользователи юзают панель управления, которая дергает на соседнем сервере баш скрипты.

тк мейнтейнеры забили на всё это, а мне это нужно, то придется поддерживать самому. Баш учить ради этого не вижу смысла, ибо потом будет негде применять толком

BitSum ★★ ()
Последнее исправление: BitSum (всего исправлений: 1)
Ответ на: комментарий от BitSum

Баш учить ради этого не вижу смысла, ибо потом будет негде применять толком

Т.е. ты вообще никогда не пользовался терминалом и не вводил команды?

Команду на запуск твоего скриптона выполняет баш, ёпт!

anonymous ()

Друзья, что лучше выбрать для администрирования?

Сейчас используется tex + assembler, что хотелось бы переписать на что-то более функциональное - tex + c++21.

Также хотелось бы использовать c++21 в обыденных линуксовых задачах. Да и с плюсами можно пролезть как можно дальше )

Симлинки, хардлинки, overlayfs, создание пользователей, удаление пользователей, копирование, перемещение, удаление.

Zabbix, ansible, elk, эксплоиты и тд

Что думаете?

Exmor_RS ★★★ ()
Ответ на: комментарий от BitSum

Во-первых что там учить, а во-вторых, что значит негде? Баш везде, он быстро запускается и исполняется, потребляет минимум ресурсов (по сравнению с теми же zsh или ps), при этом обладает серьёзно расширенными возможностями по сравнению с классическим шеллом. Он не удобный, в отрыве от си и просто сторонних утилит его использовать практически невозможно. Но это и есть его задача — скриптовать поведение различных утилит. Тот же пистон вполне себе вещь в себе. Или ты под башем подразумеваешь coreutils? Ну то такое, мне и в венде не удобно без гну утилит работать.

anonymous ()
Ответ на: комментарий от JAkutenshi

инструмент под задачу берут

Нет такой задачи, для которой не годился бы С!

Ну, на крайняк можно С++ взять. Но не пхытон же!!!

anonymous ()
Ответ на: комментарий от anonymous

Кстати, по поводу баша, я тут на прошлой неделе писал однострочник, но так и не понял почему одному из файлов он stat не может выполнить, и вообще не находит. Обнаружилось совершенно случайно и хорошо что я был достаточно предусмотрительным исполнять дальнейшие команды только если фейла нигде не было. Рядом точно такой же файл с очень похожим именем, какой-то лимит на юникод в имени в команде read? Но файлы же читаются. Короче, мутно это всё.

anonymous ()
Ответ на: комментарий от anonymous

А read к слову был с делиметером по \0 — это тоже избегание башеспецифичных ограничений, в пистоне такой херни нет. Но дело вроде не в этом.

anonymous ()
Ответ на: комментарий от anonymous

Bash и zsh в этом вопросе однозначные победители, в других шеллах эта проблема решается более анально.

anonymous ()
Ответ на: комментарий от BitSum

баш использует сторонние утилиты — это его парадигма. Возможно частные задачи можно проще решить на скриптоне, но шаг в сторону и получишь портянку из запуска сторонних утилит с аргументами.

Учитывая, что у баша синтаксис запуска сторонних команд максимально приближен к реальному (точнее им и является), то возникает вопрос: как выглядит запуск внешних утилит на скриптоне? Хотя бы в одну строчку? Например настройка текущей даты/времени с выводом сообщения об ошибке, если нет доступа?

anonymous ()
Ответ на: комментарий от anonymous

А пхытон сторонние утилиты не использует. Ага, расскажи мне!!!

Давай, попробуй хоть что-нибудь пхытоновое запусти, поставив гольный пхытон. Без этих сотен мегабайт его говнолиб!

anonymous ()

Bash

+ Как уже здесь отметили, есть чуть ли не на каждой первой целевой машине;
+ Находится максимально близко к администрируемым вручную сущностям (фс, пользователи, вся остальная система);
+/- На первый взгляд, отсутствует необходимость в изучении какого-то дополнительного языка (если предполагается, что админ знает bash), но на самом деле возникает необходимость углубленного изучения bash, чтобы писать правильно, кратко и читабельно;
- В реальных применениях код скрипта из-за спешки и особенностей синтаксиса легко превращается в плохо читаемую и плохо сопровождаемую кашу, что приводит к трудно вылавливаемым ошибкам;

Python

+ В принципе, тоже есть практически везде;
+/- Туева хуча библиотек на любые вкусы, на любые запросы, но это может оказаться и проблемой, когда выбрал какую-то не самую лучшую, а исправлять уже поздно;
- 2.x и/или 3.x?
- Еще одна проблема библиотек языка общего назначения - это лишний слой абстракции между сценарием и управляемыми сущностями и, как результат, очень неопределённое множество дополнительных точек отказа;

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

Одно я успел понять точно, что языки общего назначения не всегда стоит применять безоговорочно во всех случаях.
Иногда дичь, вроде разработки специализированного языка под одну конкретную задачу, может оказаться более целесообразной, чем потом бесконеные страдания от универсальных инструментов (или от г-нокода на языках общего назначения), которые знает «каждая собака», но которые почему-то плохо подходят в данном конкретном случае и скатывают поначалу идеальный процесс в ад, где начинается подгонка процессов под инструменты.

blexey ★★★★★ ()
Последнее исправление: blexey (всего исправлений: 2)
Ответ на: комментарий от blexey

По минусам питона.

Первое, 2 не существует.
Второе, у баша абстракций поболее, причём максимально разрозненных и никак не связанных. В сравнении с питоном, где ты привязываешься к минимальной версии используя те или иные возможности (о чём сообщаешь в требованиях), ты даже не будешь знать версии стандартной библиотеки и используемых утилит наперёд. Если где-то что-то поменяют, всё отлично посыпется.

anonymous ()
Ответ на: комментарий от anonymous

Что у тебя в баше посыплется? А вот сыплющиеся пхытоноскрипты я встречал очень даже часто, к сожалению...

Особенно хотелось бы оторвать руки тому [censored], который в генте portage на пхытоне написал!!! Если бы не этот говнюк, пхытон можно было бы подчистую удалить и не занимать место на жестком диске этой парашей!!!

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.