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

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

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

Я, конечно, невеликий погромист на баше и питоне, но я имею мнение хрен оспоришь, что как только вы понимаете, что ваш баш-скрипт грозит вылезти за два экрана, подумайте, не хотите ли вы это же написать на питоне - если, конечно, у вас есть питон, и если вам на питоне не придется то и дело дергать subprocess.
Не, можно писать многосотстрочные рабочие и поддерживаемые баш-скрипты, но нужно ли?
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org

Page generated Feb. 26th, 2026 11:48 am
Powered by Dreamwidth Studios