elglin: (Default)
[personal profile] elglin
Как известно, если все, что у тебя есть - это молоток, то рано или поздно все окажется гвоздем.
Есть чудное поделие на баше, которое с помощью curl, jq, awk и прочей уличной магии изображает, и достаточно успешно, клиента HTTP-интерфейса. Который культурно принимает JSON и отдает JSON.
Работающее поделие, надо сказать.

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

И теперь ужасы нашего городка. Код был написан на маке. Одна из инструкций - это засунуть чудовищную JSON-портянку (140 КБ) в... башевскую переменную (не во временный файл, коих, тем не менее, создается с полдюжины, а именно в переменную). На маке это проходит, а вот на убунте подрывается, потому как она скомпилирована так, что все переменные баша гуртом должны влезать в 128К. Ибо нефиг, 640К хватит на всех, ну и тащемта если у вас в баше больше двух экранов переменных, из которых хотя бы пара (за вычетом PATH) не влезают в строку, то вы явно делаете что-то не то.

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

(no subject)

Date: 2019-06-29 02:12 pm (UTC)
scif_yar: (Default)
From: [personal profile] scif_yar
смотря о чем разговор.
я вот неделю ебался с установкой простого netbox, потому что в нем нет единого скрипта, а куча инструкций - скачайте то, запустите это, заполируйте вон тем, и все это еще подкачивает тонны говн из интернета, в том числе питон.
(ну неделю не поэтому, но в целом).
ну и зачем такое для изолированных систем? Если оно еще не просто питоно зависимое, а питоно-версио-зависимое?
Page generated Feb. 26th, 2026 09:13 am
Powered by Dreamwidth Studios