После почти трёх лет разработки опубликована новая версия командного интерпретатора GNU Bash 5.3, используемого по умолчанию в большинстве дистрибутивов Linux. Одновременно сформирован релиз библиотеки readline 8.3, применяемой в bash для организации редактирования командной строки...Подробнее: https://www.opennet.me/opennews/art.shtml?num=63532
"Добавлена загружаемая команда "strptime", преобразующая текстовое представление даты и времени в эпохальное время (число секунд с 1 января 1970 года)."Есть у кого-нибудь понимание для чего это вот надо?
для сортировки
а почему именно с 1 января 1970 года? ни позже ни раньше... и вобщем не реализовано для всего времени на сколько посчитать не лень...
Потому что это нуль.
Unix timestamp
Нужна новая юникс эпоха.
Не, спасибо, ещё от предыдущей никак отделаться не можем.
Ну удалите WSL2.
Я-то удалю, но как это поможет отделаться от этого безумного локалхостного наследия семидесятых?
> Я-то удалю, но как это поможет отделаться от этого безумного локалхостного наследия
> семидесятых?Так, блин, позорность ситуации состоит в том что все остальное с тех пор - было еще хуже. Всякие майкрософты с их регэдитами и жуткой враждебностью ос к автоматизации - сами понимаете. Майкрософт тоже понимает - продолбав половину рынков пингвинам. От андроида и IoT до топ500, выбирайте.
дождись 38 года!
> Нужна новая юникс эпоха.Да на, выбирай - мало чтоли? https://en.wikipedia.org/wiki/Epoch_(computing)
Не нужна. Есть модифицированная юлианская дата (MJD), серьезно облегчающая работу с диапазонами и сортировками как по дате:времени, так и по дате и по времени раздельно. Почему ее нет в SQL, а есть куча кривого говна, непонятно.
до 70 годов дата в компьютере особо никому не нужна была
> а почему именно с 1 января 1970 года?вопросы, которые мы заслужили, мда
как нынче происходит образование у людей в нашей сфере?
по видеороликам на ютубе, что ли?
ты не поверишь
...и по роликами, и вот по таким статьям https://habr.com/ru/articles/925448/
она же залайканная (да, для толпы это теперь показатель), ей нельзя не верить
а потом еще будут до усрачки спорить, когда их будут поправлять...
"Вы в каком полку служили?" ))
ну так исторически выбрали в POSIX система для хранения времениу тебя весь ляликс с таким временем
на вики вбей UNIX TIME
> а почему именно с 1 января 1970 года? ни позже ни раньше.Потому что диды любили делать всякие убогие костыли, а потом героически их решать, добавлением новых костылей (в данном случае прикостыливаанием функций преобразования).
Все от работы "на отшибись" и "и так сойдет"
время до этой точки просто отрицательное - так что реализованно для любого времени, на какое разрядности хватит - 64 бита - это почти 300 мильярдов лет в обе стороны. Если мало - возьмите 128
а так конечно круто что Bash развивается!
Не круто.
Тяжело написать на нём что-то. нормальное с >150 строк кода.
Любая обработка команд на нём, кроме самых простейших, превращается в адъ. При этом он ещё и сам очень небезопасен в плане "переменная пустая, удалил корневую". Многие вещи автоматизации приходится самим описывать, в итоге даже простенький скрипт написанный для удобства превращается в монстра на сотни строк кода, где полезных действий на пару строчек.
> Любая обработка команд на нём, кроме самых простейших, превращается в адъ.А любой нетривиальный инструмент превратит вашу жизнь в ад, если сперва не научиться им пользоваться.
А баш превратит жизнь в ад даже когда научишься им пользоваться.
> А баш превратит жизнь в ад даже когда научишься им пользоваться.Вряд ли баш повинен в том, что ваша жизнь — ад.
> Любая обработка команд на нём, кроме самых простейших, превращается в адъ.
>> А любой нетривиальный инструмент превратит вашу жизнь в ад, если сперва не научиться им пользоваться.
>>> А баш превратит жизнь в ад даже когда научишься им пользоваться.
>>>> Вряд ли баш повинен в том, что ваша жизнь — ад.Как будто с чат-ботом разговариваю. Логика явно не ваш конёк.
Уважаемый keydon, я, как сторонний наблюдатель, перечитавший Ваш диалог с оппонентом, нахожу ботом именно Вас. Ваш собеседник последовательно и логично изложил свою позицию - проблема с башем у Вас ни из-за баша, а из Вашего незнания оного.
Сам же баш - осмысленный скриптовый язык, задачи которого - автоматизация однородных повторяющихся действий. А сколько уж будет строк в скрипте, зависит от назначения последнего. То, что Вы пугаетесь или не способны разложить в своей голове 150 строк кода, говорит лишь о Вашей квалификации в этом языке. Может в таком случае не стоит пытаться тужиться?
> Уважаемый keydon, я, как сторонний наблюдатель, перечитавший Ваш диалог с оппонентом, нахожу
> ботом именно Вас. Ваш собеседник последовательно и логично изложил свою позицию
> - проблема с башем у Вас ни из-за баша, а из
> Вашего незнания оного.
> Сам же баш - осмысленный скриптовый язык, задачи которого - автоматизация однородных
> повторяющихся действий. А сколько уж будет строк в скрипте, зависит от
> назначения последнего. То, что Вы пугаетесь или не способны разложить в
> своей голове 150 строк кода, говорит лишь о Вашей квалификации в
> этом языке. Может в таком случае не стоит пытаться тужиться?Тогда перечитайте ещё раз до просветления вместе с моим собеседником. Можете еще вместе в логике потренироваться, потому что ни проблем с башем у меня нет, ни испуга, ни неспособности разложить 150 строк.
Баш же автоматизацию однородных действий делает отвратительно. Чуть меньше чем во всех гайдлайнах крупных компаний указано избавляться от больших баш-портянок и поверьте на это есть причины. Любой кто писал и поддерживал хоть что-то на баше >150 строк кода (ну хотя бы тесты) это понимает.
> Чуть меньше чем во всех гайдлайнах крупных компаний указано избавляться от больших баш-портянокИ вставлять yaml портянки для куберов, ансиблов и другой мути, которая внутри 100 тысяч зависимостей питона втягивает. Знаем, плавали.
> Любой кто писал и поддерживал хоть что-то на баше >150 строк кода
Ну я пишу 150> строк баша, и почитав man bash, прекрасно понимаю, что какая портянка делает. Более того, пришлось фиксить дефолтные системные .bashrc, profile и прочее, т.к. вся эта раскопипащенная хрень по ощущению была написана людьми, которые как раз man bash прочитали вскользь.
А самое классное это то, что у меня большинство скриптов умещается меньше чем в 150 строк, причём обычно на треть они состоят из парсинга аргументов командной строки и echo в случае ошибок.
> И вставлять yaml портянки для куберов, ансиблов и другой мути, которая внутри
> 100 тысяч зависимостей питона втягивает. Знаем, плавали.Вместо баша который не меньше зависимостей втягивает пакетами, только еще отдельно обрабатывать их установки и отсутствие.
> Ну я пишу 150> строк баша, и почитав man bash, прекрасно понимаю,
> что какая портянка делает. Более того, пришлось фиксить дефолтные системные .bashrc,
> profile и прочее, т.к. вся эта раскопипащенная хрень по ощущению была
> написана людьми, которые как раз man bash прочитали вскользь.Ну вот вам верю что вы что-то на баше писали в отличии от ораторов выше.
> А самое классное это то, что у меня большинство скриптов умещается меньше
> чем в 150 строк, причём обычно на треть они состоят из
> парсинга аргументов командной строки и echo в случае ошибок.Это и напрягает когда нужно запустить пару команд, но строк для обработки в 100 раз больше даже в простейших случаях. Когда никто никогда не знает в каком пайпе какое экранирование использовать, потому что часть софта дополнительно экранирует кавычки, а часть пропускает как есть. Когда скрипт перестаёт работать с другой минорной версии утилиты, а код проверки версии в 10 раз больше собственно её запуска. Когда для логики используется awk, а для регэкспов sed. Когда для запуска параллельных задач нужно особенно извращаться, а передача результатов исполнения дальше по пайплайну превращается в отдельную историю и т.д. и т.п.
Вы сначала научитесь, а потом уже расскажете.
> А баш превратит жизнь в ад даже когда научишься им пользоваться.Не, ну с определенного момента развивается "Стокгольмский синдром" - и начинает казаться, что оно даже и ничеготак. А если обмазать форматтерами-линтерами-shellcheck'ом-shfmt-explainshell в IDE то и вовсе почти нормальный язык. Мн-да. Главное, на альтернативы не смотреть, ага.
А то придется на вот это все забить и "программировать промптами" - один хрен, какой-нибудь надежности работы и сопровождаемости от портянок никто и не ждет, а один раз на твоем компе оно даже и сработает. Обычно.
> Тяжело написать на нём что-то. нормальное с >150 строк кода.Такое надо писать на языке программирования, а не на баше (а на баше вообще ничего писать не надо).
По-моему естественный процесс системного администратора. По мере развития навыка и усложнения задач, переходишь к более подходящему инструменту, а не "тянешь портянку", которую трудно поддерживать и не факт, что разрабы учли такую возможность. По крайней мере у меня так происходил процесс освоения ЯП.
>процесс освоения ЯППрыгать между разными ЯП без серьезного погружения - не есть осваивать. С логикой проблемы. Наверняка и администрируешь по принципу "как оплачено, так и зафигачено".
ну для каких-то операций с файлома он удобный. Но если чет сложнее, то можно на питоне так же быстро напрогать
Судя по минусам, аудитория линукса так и не поумнела.Баш - он просто морально устарел. Практика показывает, что самописная скриптота с каркалыжным синтаксисом просто в принципе не подходит для массового потребления. Любой ЯОН с "высокоуровневыми" командами куда более гибче и быстрее в плане реализации админских хотелок.
> Судя по минусам, аудитория линукса так и не поумнела.
> Баш - он просто морально устарел. Практика показывает, что самописная скриптота с
> каркалыжным синтаксисом просто в принципе не подходит для массового потребления. Любой
> ЯОН с "высокоуровневыми" командами куда более гибче и быстрее в плане
> реализации админских хотелок.Ну вообще "да" - но по сравенению с практически любым языком общего назначения - bash с posix-compilant обвязкой существенно более высокоуровневый с т.з. решения задач предметной области (Системного администрирования). Разница примерно как между ванильной java'ой и специализированным DSL.
То, что "DSL" состоит из legacy чуть менее, чем совсем не отменяет наличия его примерно "везде" и того факта, что для решения типовых задач писать придется процентов на 30 (В плохом случае) меньше.
Потому что вы пишете на нем не пайплайны, а императивщину. Шелл скрипт - это больше лисп и функциональное программирование. Строка кода на баше - это монада, например. Когда вот это дойдет, полегче станет. Хотя нет, вам не станет. Квадратно гнездовое мышление не изживается.
> Потому что вы пишете на нем не пайплайны, а императивщину. Шелл скрипт
> - это больше лисп и функциональное программирование. Строка кода на баше
> - это монада, например. Когда вот это дойдет, полегче станет. Хотя
> нет, вам не станет. Квадратно гнездовое мышление не изживается.Забавно. А можно тогда и плюшки функциональных языков подвезти? А то на императивном языке писать функциональщину превозмогая синтаксис ради ничего это мягко говоря странная затея.
Разрешаю - подвозите. Ни о чем разговор.>превозмогая синтаксис
Если у вас проблемы с синтаксисом, не пишите вообще. Не ваше это.
-Чтобы избежать проблем с автомобилем, ездите на скорости 4км/ч!
-Зачем нам тогда автомобиль? Почему бы нам тогда пешком не дойти, это ведь проще и полезней?
-Разрешаю сделать проще и полезней в автомобиле. И вообще не передвигайтесь. Не ваше это.
Логика конечно не твое. Если традиционные ЯП - это автомобили, то баш - не автомобиль вообще. Это описание дорожной сети, по которой могут перевозиться грузы (на автомобилях или робо-тележках - не имеет значения).
У него есть конструкции, похожие на таковые в структурном программировании (ифы, процедуры), но они и в SQL есть. Тебе же не приходит в голову SQL назвать императивным языком? Хотя отдельные уникумы умудряются и там императивщину разводить, используя всякие вендорские расширения.Баш скрипт может быть программой сам по себе, но его реальная мощь в том, чтобы находиться на уровне выше - направлять потоки данных между процессами. Делается это очень просто, практически интуитивно - в отличие от "настоящих" систем, заточенных под обработку потоков данных, с которыми могут эффективно работать только сотрудники коммерческой поддержки решений.
>Зачем нам тогда автомобиль?Сравнение с автомобилем тут не работает. Парадигменные проблемы в основном живут в голове, потому что лямбды и cons/car/cdr пилятся за вечер на паре функций, что и сделал бы любой лиспер.
Я даже больше скажу, твоё сравнение с автомобилем - это вера в доброго дядю вендора, который всё сделает красиво и удобно. Проблема в том, что доброго дяди вендора нет и не будет.
А так alias lambda="_lambda ()" должно сработать. И return by value через одну переменную. И дальше map, filter, ну ты понял. Главное прикинуться добрым дядей вендором и продать lambda.rc любителям блестящих штуковин без изоленты. И рядышком пропиарить es.
В es подвезли. А если es нет, есть rc. Надо только агрессивно пушить, как это делают срастом.
Лучший язык для скриптов, особенно если надо что-то автоматизировать и не вводить по 150 комманд в терминал
Лучше Fish человечество еще ничего не придумало, поставил и из коробки все есть, не нужно всякие васяно моды ставить чтобы оболочка работала как и должна по умолчанию.
несовместим с bash == мертворожденное
Исполняй портянки из баш, а руками пиши в фиш. Проблема зерошная.
не знаю, что такое "зерошная", но просто забываешь #!/bin/sh и всё, у инвалидов с fish ничего не работает
Ну да, fish не нужен, потому что у тебя проблемы с памятью — абсолютная корректная кристально чистая без единой ошибки мутного пятнышка логика.
странно, даже до тебя дошло
забываешь #!/bin/sh - не пишешь под sh
не пишешь под sh и удивляешься, что запускают не через sh - диагноз
повторяй себе это, пока у тебя не работает очередной скрипт
естественно, что он не работает, ведь ты его так написал
шелл-скрипты без шебанга это явно не от большого ума
> забываешь #!/bin/sh - не пишешь под shЯ у половины "разовых" фигови не пишу это, и чего? Но ты можешь за мной фиксить, ведь это тебе надо - а не мне. Я не буду тратить мое время на каких-то рыб. Рыбу - на сковороду, имхо.
> не пишешь под sh и удивляешься, что запускают не через sh - диагноз
Это проблемы твоей недожареной рыбины и тебя.
>> забываешь #!/bin/sh - не пишешь под sh
> Я у половины "разовых" фигови не пишу это, и чего? Но ты
> можешь за мной фиксить, ведь это тебе надо - а не
> мне. Я не буду тратить мое время на каких-то рыб. Рыбу
> - на сковороду, имхо.
>> не пишешь под sh и удивляешься, что запускают не через sh - диагноз
> Это проблемы твоей недожареной рыбины и тебя.Да пиши прямо: "гумнокодил, гумнокодю и гумнокодить буду - и что ты мне сделаешь? А? А?!"
> Да пиши прямо: "гумнокодил, гумнокодю и гумнокодить буду - и что ты
> мне сделаешь? А? А?!"А вы думали что кто-то будет выписывать всякие одноразовые скриптики под задачу с типизаааацией? Может еще автотестиками обложить? CI там какой равзернуть? Иначе недостаточно энтерпрайзно. А потом - убив 100500 часов - отпедалить разовую задачу и стереть. И вот решение 5-минутной задачи - превращается в приключение на месяц, для целого энтерпрайза. Вот только результат в 95% случаев того не стоил - и вашему манагеру надо выписать волчий билет за такие соотношения. Хотя если это росатый, там, наверное и не такое бывает.
>> Да пиши прямо: "гумнокодил, гумнокодю и гумнокодить буду - и что ты
>> мне сделаешь? А? А?!"
> А вы думали что кто-то будет выписывать всякие одноразовые скриптики под задачу
> с типизаааацией? Может еще автотестиками обложить? CI там какой равзернуть? Иначе
> недостаточно энтерпрайзно. А потом - убив 100500 часов - отпедалить разовую
> задачу и стереть. И вот решение 5-минутной задачи - превращается в
> приключение на месяц, для целого энтерпрайза. Вот только результат в 95%
> случаев того не стоил - и вашему манагеру надо выписать волчий
> билет за такие соотношения. Хотя если это росатый, там, наверное и
> не такое бывает.Ну в общем да - если работа состоит в ручном педалинге одноразовых ремесленных задач "каждый-раз-как-первый-раз"(ТМ) - то можно и так, почему нет? Вот только современное системное администрирование - немножко не про это. Если админ значимый процент времени занимается одноразовой автоматизацией непереиспользуемых задач - это явно очень-очень плохой админ, который делает что-то очень-очень не так.
> Ну в общем да - если работа состоит в ручном педалинге одноразовых
> ремесленных задач "каждый-раз-как-первый-раз"(ТМ)Шелл для каких-то таких вещей и применяется. Для того что нужно часто, много и однотипно - напишут другой инструментарий, на других ЯП.
> - то можно и так, почему нет? Вот только современное системное администрирование
> - немножко не про это.Ну уж не клиентам accenture рассказывать за современное системное администрирование. Ваше дело - доиться и не отсвечивать. Это все на что вы и ваша локальная экспертиза годны.
Я не понмаю, зачем вы засветившись в том что вам Accenture "архитектит" - пытаетесь тут теперь надувать щеки как будто у вас экспертиза в чем-то есть? Если вам accenture - архитекты, с вашей локальной экспертизой все ясно как дважды два. И вот что вы пытаетесь мне доказать теперь? Я в курсе кто такое Accenture и что там за клиенты.
> Если админ значимый процент времени занимается одноразовой
> автоматизацией непереиспользуемых задач - это явно очень-очень плохой админ,Если вы вдруг не заметили - те самые админы как рат таки вымерли как вид почти. А вместо них - девопсы. Для девопса что-то такое для турбо-решения проблемы прода вылезшей 5 минут назад и зеленого свистка "engage!" - вполне нормально как раз. И конечно вы охренеете с их эффективности и времянок.
> который делает что-то очень-очень не так.
Скорее, я бы сказал что если вы постоянно скриптуете что-то однотипное, да еще зачем-то с претензией на монументальность - это вызывает много вопросов. Мягко говоря. На тему того - кто, куда и на что вообще ресурсы спускает в этой помойке, например. И куда смотрит их менеджмент на такое вопиющее транжирство ресурсов заодно.
>> Ну в общем да - если работа состоит в ручном педалинге одноразовых
>> ремесленных задач "каждый-раз-как-первый-раз"(ТМ)
> Шелл для каких-то таких вещей и применяется. Для того что нужно часто,
> много и однотипно - напишут другой инструментарий, на других ЯП.И на чем вы предлагаете писать обвязку под резервное копирование развесистой системы? Всяки
>[оверквотинг удален]
> вымерли как вид почти. А вместо них - девопсы. Для девопса
> что-то такое для турбо-решения проблемы прода вылезшей 5 минут назад и
> зеленого свистка "engage!" - вполне нормально как раз. И конечно вы
> охренеете с их эффективности и времянок.
>> который делает что-то очень-очень не так.
> Скорее, я бы сказал что если вы постоянно скриптуете что-то однотипное, да
> еще зачем-то с претензией на монументальность - это вызывает много вопросов.
> Мягко говоря. На тему того - кто, куда и на что
> вообще ресурсы спускает в этой помойке, например. И куда смотрит их
> менеджмент на такое вопиющее транжирство ресурсов заодно.
>> Ну в общем да - если работа состоит в ручном педалинге одноразовых
>> ремесленных задач "каждый-раз-как-первый-раз"(ТМ)
> Шелл для каких-то таких вещей и применяется. Для того что нужно часто,
> много и однотипно - напишут другой инструментарий, на других ЯП.И на чем вы предлагаете писать обвязку под резервное копирование развесистой системы? Какой-нибудь регламентный запуск\останов (Нет, системды "в целом" - не хватает, пусть даже процентов 80 крапа она на себя и взяла), майнтенанс-план с чисткой накладенного под себя? Всякие транзишны для обновления? Раздачу полномочий-по-десяти-местам криво слепленного из-того-что-было opensource'ия?
>> - то можно и так, почему нет? Вот только современное системное администрирование
>> - немножко не про это.
> Ну уж не клиентам accenture рассказывать за современное системное администрирование. Ваше
> дело - доиться и не отсвечивать. Это все на что вы
> и ваша локальная экспертиза годны.Да-да, мнение из подвала для нас всех очень важно, перезвоните через 10 минут.
>> Если админ значимый процент времени занимается одноразовой
>> автоматизацией непереиспользуемых задач - это явно очень-очень плохой админ,
> Если вы вдруг не заметили - те самые админы как рат таки
> вымерли как вид почти. А вместо них - девопсы. Для девопса
> что-то такое для турбо-решения проблемы прода вылезшей 5 минут назад и
> зеленого свистка "engage!" - вполне нормально как раз. И конечно вы
> охренеете с их эффективности и времянок.Оу. Не надо рассказывать "про девопсов" тому, кто этим самым работал, да? Если что - bash'а там что тогда не было, что сейчас особо нет. Много groovy, ansible, чутка python'а, всякий templating вокруг кубика - да, а bash - прям совсем не особо. Сейчас вот HCL добавился, всякие jsonnet'ы с kustomize'ами вижу, go больше стало, yaml-programming прям разошелся - а чтобы bash? Не, нет почти.
>> который делает что-то очень-очень не так.
> Скорее, я бы сказал что если вы постоянно скриптуете что-то однотипное, да
> еще зачем-то с претензией на монументальность - это вызывает много вопросов.
> Мягко говоря. На тему того - кто, куда и на что
> вообще ресурсы спускает в этой помойке, например. И куда смотрит их
> менеджмент на такое вопиющее транжирство ресурсов заодно.Пожалуй да. В нормальной современной инфре - процентов 90 задач УЖЕ отскриптованы. И нет, не "одноразовыми однострочниками"(ТМ) - как раз именно по тому, что.
> Да пиши прямо: "гумнокодил, гумнокодю и гумнокодить буду - и что ты
> мне сделаешь? А? А?!"Я и правда не собираюсь выписывать с суперкачеством всякие разовые скрипты под сиюминутные задачи. А если такое попало в ваши лапы и не работает - это как таковые ВАШИ проблемы, если вы вдруг не заметили.
>> Да пиши прямо: "гумнокодил, гумнокодю и гумнокодить буду - и что ты
>> мне сделаешь? А? А?!"
> Я и правда не собираюсь выписывать с суперкачеством всякие разовые скрипты под
> сиюминутные задачи. А если такое попало в ваши лапы и не
> работает - это как таковые ВАШИ проблемы, если вы вдруг не
> заметили.По счастью, плоды трудов подвальных локалхостов ко мне, как правило, не попадают.
> По счастью, плоды трудов подвальных локалхостов ко мне, как правило, не попадают.Тут на самом деле можно поспорить на тему - кто больше на качество кладет. Для себя халтурить - ну это такое себе. А вот на продажу, дяде - лишь бы сразу не сбежал, а потом - уплочено же, что хотите то и делайте.
Но вы красиво лоханулись, там как раз в соседней новости намекают что git'у обвес на сабже с перловки переписали. Но вы можете конечно и не пользоваться гитом :). Только тогда и на современный софтстрой претендовать - не сможете. И большая часть нормальных програмеров обойдет вас - за километр.
>> По счастью, плоды трудов подвальных локалхостов ко мне, как правило, не попадают.
> Тут на самом деле можно поспорить на тему - кто больше на
> качество кладет. Для себя халтурить - ну это такое себе. А
> вот на продажу, дяде - лишь бы сразу не сбежал, а
> потом - уплочено же, что хотите то и делайте.Ага, ага. Вот вы буквально комментом выше написали, что клали, кладете и будете класть на качество своих скриптов - и нет, ничего нигде не жмет. Окно контекста переполнилось, ага.
> Но вы красиво лоханулись, там как раз в соседней новости намекают что
> git'у обвес на сабже с перловки переписали. Но вы можете конечно
> и не пользоваться гитом :). Только тогда и на современный софтстрой
> претендовать - не сможете. И большая часть нормальных програмеров обойдет вас
> - за километр.Ээээ... своего мнения о том, что git - пример просто отвратительного software design примерно со всех сторон, с которой ни посмотри - я в общем-то не скрываю и вполне в этом смысле последователен. А вот вы с рассказами про то, что "bash - для одноразовых однострочников"(С), а все остальное делать надо на "более других"(ТМ) языках - и впрямь сели в лужу.
Те кто пишет про несовместимость с башем заранее свидетельствуют о своем пооном непонимании что такое оболочка и как выполняются скрипты
несовместим с sh == мертворожденное
несовместим с bash == АБСОЛЮТНО_ПОЕ*речь конечно же о логин шелле, а от юзера хоть в bzdysh свои команды забивайте
А что такое "логин шелл"?
Совместимость с Башем - это считай "морально устаревать вместе с башем". По факту, сегодня УЖЕ баш не вывозит - слишком много новичков, слишком разнообразные задачи. Баш - это легаси типа Перла - все просто ждут, когда оно само сдохнет.
> Совместимость с Башем - это считай "морально устаревать вместе с башем". По
> факту, сегодня УЖЕ баш не вывозит - слишком много новичков, слишком
> разнообразные задачи. Баш - это легаси типа Перла - все просто
> ждут, когда оно само сдохнет.Ну да - предметную область "автоматизации задач системного администрирования" он уже проиграл. Остался вот интерактивный шелл с "одноразовыми однострочниками"(ТМ), за которые норот все еще цепляется...
> Остался вот интерактивный шелл с "одноразовыми однострочниками"(ТМ), за которые норот
> все еще цепляется...И мелкая автоматизация дешево и сердито за 5 минут. А на что его заменять то? Конкурентов у него в этой нише не очень то и есть.
>> Остался вот интерактивный шелл с "одноразовыми однострочниками"(ТМ), за которые норот
>> все еще цепляется...
> И мелкая автоматизация дешево и сердито за 5 минут. А на что
> его заменять то? Конкурентов у него в этой нише не очень
> то и есть.Ну конкретно в указанной предметной области - на ansible скорее всего. Может salt еще какой - chef\puppet\cfengine скорее ушли уже.
> Ну конкретно в указанной предметной области - на ansible скорее всего. Может
> salt еще какой - chef\puppet\cfengine скорее ушли уже.Вообще совсем не замена - вон тому. А вот надстройкой над, чтобы 100500 хостами порулить - если оно надо - возможно. Но это все надо - далеко не всем и не всегда. На ваших уберэнтерпрайзах мир не заканчивается.
>> Ну конкретно в указанной предметной области - на ansible скорее всего. Может
>> salt еще какой - chef\puppet\cfengine скорее ушли уже.
> Вообще совсем не замена - вон тому. А вот надстройкой над, чтобы
> 100500 хостами порулить - если оно надо - возможно. Но это
> все надо - далеко не всем и не всегда. На ваших
> уберэнтерпрайзах мир не заканчивается.А за bashсибль во всех приличных местах мокрыми тряпками еще на этапе собеседования гоняют, ага.
Конкуренции боятся - потому что пока yaml-программист будет лапками разводить, уверенный пользователь ПК (power user) на шелле за такое-то время проблему решит.
> Конкуренции боятся - потому что пока yaml-программист будет лапками разводить, уверенный
> пользователь ПК (power user) на шелле за такое-то время проблему решит.Да-да, так после собеседования и говорите. А то понапридумывают всякой де-кла-ра-тив-щи-ны и начинают потом честных людей про импотенцию спрашивать вот прям при эйчарках!
Срамота.
> Конкуренции боятся - потому что пока yaml-программист будет лапками разводить, уверенный
> пользователь ПК (power user) на шелле за такое-то время проблему решит.Я готов поспорить что мои знакомые линуксоиды в вопросе практического решения задач от IT в сжатые сроки - обставят и user и всю его шарашку с что-б#ми как с куста.
И вообще - видал я таких как он. В процессе девелопа это просто капец, такие господа - 100% якорь рабочих процессов. Они ни 1 проблемы сами решить не могут, проносят ложку мимо рта и все время подводят и прокатывают всех остальных. Но при этом лепят фигурные отмазки и доказывают всем какие они якобы-крутые и якобы-нужные. Но почему-то без таких кадров в команде - дело идет намного шустрее и комфортнее. Просто наблюдение. А линуксоид и сам с своими проблемами - разберется, еще и других - научит как можно вон то делать в 3 раза быстрее и эффективнее чем мы до него делали. Поэтому в Dream Team надо брать - вот таких. А как User - гнать взашей.
Когда конкурент преставляет из себя пачку скриптов, завязанных на компилирующийся рантайм, который компилируется в шелл - это не конкурент.
Пишу под busybox ash. Несовместимо. Но работает.
особенно --on-error прекрасно, тем временем минимум половина моих скриптов с set -e
>половина моих скриптов с set -eПопробуй научиться обрабатывать ошибки и не писать спагетти-код.
А это как раз обрабатывать абсолютно все ошибки. Если что пойдёт не так, просто останавливается. Хочешь, чтобы дальше работало, реши проблему.
> Лучше Fish человечество еще ничего не придумало, поставил и из коробки
> все есть, не нужно всякие васяно моды ставить чтобы оболочка работала
> как и должна по умолчанию.Какое-то гумно, которое еще и depends от питона зачем-то. Видимо ориентировано на тех кто проносит ложку мимо рта.
Bash как Bat в Windows?
Несравнимо
Одно и то же.
Но есть большой нюанс. Нюанс в фичах.
> Но есть большой нюанс. Нюанс в фичах.Фичи одинаковые. Запуск команд, обработка кодов завершения, условные операторы и циклы. Cmd.exe содержит где-то половину функциональности баша, command.com чуть меньше.
А скриптовать на языке cmd.exe - боль. Неспроста M$ ещё PowerShell запилила.
> А скриптовать на языке cmd.exe - боль. Неспроста M$ ещё PowerShell запилила.Который тоже - боль. Пусть и по другим поводам. Неспроста M$ еще и WSL запилили. А там, таки, обычно - сабж.
Боль — это разбирать выхлоп ls в баше. PS хотя бы позволяет обмениваться структурированными данными. Ну и интеграция в ОС там такая, что без слёз на баш потом просто невозможно смотреть.
Nushell тоже работает со структурированными данными. Притом это таблицы. Что ОООООЧЕНЬ удобно.
> Боль — это разбирать выхлоп ls в баше.Поэтому есть find. И прочие sed. Которые можно - координировать из баша. Адептам переросточных рантаймов видимо не рассказали, что в програмизме счастье - в модульности, а не в том что вы затолкали все и вся в один убер-ужастик.
> PS хотя бы позволяет обмениваться структурированными данными.
Чем невероятнейше делает мозг при каждом удобном случае. Просто взять и сделать что надо было? Дешево и сердито? Не, ну что вы! И то что баше делается за пару минут, в ps превращается в брейнфак на полдня. Зачем такой шелл вперся, с его структурированием, убер-рантаймом, временами старта под стать, и характерным интерактивом - с километровыми командами, такими же путями, еще и с пробелами, при почти не работающем автодополнении - только майкрософт его и знает. Но продуктивность автоматизации системной рутины по месту в
> Ну и интеграция в ОС там такая, что без слёз на баш потом просто невозможно смотреть.
В итоге у майкрософта получилось страшило, с капец временем старта и капец юзабилити и продуктивностью. Назывя вещи своими именами - у майкрософта нет адекватных тулсов для интерактива и мелкой автоматизации рутинных задач по месту.
А монументальное решение с типизацией разовой задачи - это "выкрасить и выбросить", убиение кучи времени ни на что. Я большую часть таких задач вижу - раз в жизни, нахрен!
>[оверквотинг удален]
> такими же путями, еще и с пробелами, при почти не работающем
> автодополнении - только майкрософт его и знает. Но продуктивность автоматизации системной
> рутины по месту в
>> Ну и интеграция в ОС там такая, что без слёз на баш потом просто невозможно смотреть.
> В итоге у майкрософта получилось страшило, с капец временем старта и капец
> юзабилити и продуктивностью. Назывя вещи своими именами - у майкрософта нет
> адекватных тулсов для интерактива и мелкой автоматизации рутинных задач по месту.
> А монументальное решение с типизацией разовой задачи - это "выкрасить и выбросить",
> убиение кучи времени ни на что. Я большую часть таких задач
> вижу - раз в жизни, нахрен!"Пока ты на своём коне раз, два, три, четыре, Масленица на ногах раз, два, раз, два."(Ц), ага.
> "Пока ты на своём коне раз, два, три, четыре, Масленица на ногах
> раз, два, раз, два."(Ц), ага.А зачем вы на своем коне - на кухне припарковались? А уж как вы в сортир на нем заезжать будете - я даже представить себе боюсь! А, ну да, кого такие приземленные вещи интересуют когда весь мир у ваших ног и можно аж сто верст проскакать.
Вот ваш powershell - как-то так же. Сколько раз в день я буду материться на парковку вашей тушки кентавра на толч VS сколько раз в год у меня нужда сделать сто верст? Так что предложение прирасти к лошади и стать кентавром мне как-то в целом - не очень.
>[оверквотинг удален]
> А зачем вы на своем коне - на кухне припарковались? А уж
> как вы в сортир на нем заезжать будете - я даже
> представить себе боюсь! А, ну да, кого такие приземленные вещи интересуют
> когда весь мир у ваших ног и можно аж сто верст
> проскакать.
> Вот ваш powershell - как-то так же. Сколько раз в день я
> буду материться на парковку вашей тушки кентавра на толч VS сколько
> раз в год у меня нужда сделать сто верст? Так что
> предложение прирасти к лошади и стать кентавром мне как-то в целом
> - не очень.Ну, у меня жизнь не замкнута между кухней и туалетом, да? Автоматизация ЭТИХ задач мне не больно-то "зачем". Тут конечно хум-хау...
> Ну, у меня жизнь не замкнута между кухней и туалетом, да?Судя по всему ваши интересы ограничиваются - целованием корпоративных ботинок и мелким лизоблюдством. И попыткам примазаться к достижениям которые - не ваши вообще.
> Автоматизация ЭТИХ задач мне не больно-то "зачем". Тут конечно хум-хау...
Во-во. Такие господа как вы - и ваше рабочее окружение - у меня ничего кроме уныния и отвращения не вызывает. Поэтому если вы удивляетесь почему будущее создается где-то еще, и без вас - ну вот поэтому.
> у майкрософта нет адекватных тулсов для интерактива и мелкой автоматизации рутинных задач по местуИз PS можно управлять примерно 95% всего, что вообще в винде есть. От ключей реестра до интерактива. И всё это с унифицированным API. Линуксу для такой всепроникающей автоматизации надо сперва стать операционной системой, а не коллекцией опенсорсного софта и патчей к нему. Впрочем, я вижу, что ты дальше однострочников с find и sed в своём понимании проблематики не продвинулся, а знания и широту опыта тебе заменяет хейт Билла Гейтса и абстрактных злых корпораций. Не знаю что мы тут можем дальше обсуждать, мне эникейство давно не интересно.
> Из PS можно управлять примерно 95% всего, что вообще в винде есть.Из Bash можно управлять оver 100% всего, что вообще в лингзе есть.
/TLDR;
> Из PS можно управлять примерно 95% всего, что вообще в винде есть.После того как я от винды отделался - моя продуктивность здорово выросла. Поэтому на данный момент мне вообще не интересно что там у винды с управлением.
И да, bash - для решения мелких и средних задач системной автоматизации, в том числе интерактивно и по месту. А не убер-фундаментальных решений.
Но поугорать - я себе сделал генератор образов систем и VM на оном. Из debian, под задачу, кастомизабельно. Оно педалит кастомный bootstrap системы, делает из rootfs образ, кастомизирует инстанс, аплаит настройки, и в целом - получает на вход список пакетов которые я хочу (кроме минимального дебиана) + кастомизацию, и дальще само за меня фигачит.
А best of all? Я его за вечерок накорябал. С такой фичностью. Ибо оно конечно юзает мощь готовых утилсов, выступая "overall coordinator" между ними. Я бы посмотрел сколько это у вас займет с вашими ps и виндой. Что-то мне подсказывает что за вечерок такое не получится. За недельку - хз, не факт. Вот за месяцок - я поверю пожалуй. Но это ж был тул для лично моей специфики и энных задач характерных только для меня.
> От ключей реестра до интерактива.
Одна из лучших фич линуха что я развидел реестр. А интерактив в PS я видел. И имел возможность сравнить. Поэтому и юзаю - bash.
> И всё это с унифицированным API.
Я не дергаю API из шелла. Для меня это высокоуровенвы координатор соединяющий между собой утилсы в правильном виде. "Конфигуратор модулей" собирающий из кубиков big-pic. Как надо здесь и сейчас.
> Линуксу для такой всепроникающей автоматизации надо сперва стать операционной системой,
> а не коллекцией опенсорсного софта и патчей к нему.Ктулху упаси. Зачем мне нечто, где задача которую я рюхал за 5 минут станет занимать недели?
> Впрочем, я вижу, что ты дальше однострочников с find и sed в своём
> понимании проблематики не продвинулся,И опять не угадали. См. выше про генератор образов.
> а знания и широту опыта тебе заменяет хейт Билла Гейтса
Я умею быть энтерапрайз админом AD - and beyond. И что такое ESE DB получше вашего знаю, например. Поэтому могу сравнить малость как и что.
> мне эникейство давно не интересно.
У меня довольно специфичное эникейство, я косплею интегратора и OEM при случае. Just because I can :).
Но поугорать - я себе сделал генератор образов систем и VM на оном. Из debian, под задачу, кастомизабельно. Оно педалит кастомный bootstrap системы, делает из rootfs образ, кастомизирует инстанс, аплаит настройки, и в целом - получает на вход список пакетов которые я хочу (кроме минимального дебиана) + кастомизацию, и дальще само за меня фигачит.А best of all? Я его за вечерок накорябал. С такой фичностью. Ибо оно конечно юзает мощь готовых утилсов, выступая "overall coordinator" между ними. Я бы посмотрел сколько это у вас займет с вашими ps и виндой. Что-то мне подсказывает что за вечерок такое не получится. За недельку - хз, не факт. Вот за месяцок - я поверю пожалуй. Но это ж был тул для лично моей специфики и энных задач характерных только для мен
--Вагон готового. Навскидку что было osdbuilder и всё вокруг osdeploy, wimwitch. И в своё время я его под себя спокойно за вечерок допинал. PS а не портянки башовые же.
Не надо благодарить что узнал что-то навое. Это наша работа - опенсурс раздача знаний циферным.--
Одна из лучших фич линуха что я развидел реестр.
--Именно поэтому везде его в лин хоть боком хоть крабом его пытаются впилить. А где нет вми и реестра пилят кривули в стиле haproxy dataplaneapi. И у каждого своя.
--
Ктулху упаси. Зачем мне нечто, где задача которую я рюхал за 5 минут станет занимать недели?
--Это просто говорит об уровне когнитивных способностей, но никак об инструменте.
--
Я умею быть энтерапрайз админом AD - and beyond. И что такое ESE DB получше вашего знаю, например. Поэтому могу сравнить малость как и что.
--Человек за годы не умеющий посмотреть короткий видоролик как psreadline даёт не подпрыгивая на клык башевским порятнкам энтопрайс гуртовщик мышек? Смешно. Не пробовал смешные тиктоки записывать про свою сиьсадминскую делюгу?
> Вагон готового. Навскидку что было osdbuilder и всё вокруг osdeploy, wimwitch.Вы не поняли. Таких тулсов и для вон того - есть. Но как вы понимаете - ни один из этих тулов не был под мою специфику.
И вопрос на самом деле был: а можете ли вы сами при нужде или желании взайти на ту ступеньку пантеона, став - равным вон тем? Или вы - обреченное прозябать на более низкой ступеньке иерархии? Уповающее на милости "богов"? И мирясь с неудобствами, недопилками, недоделками, кривизной и проч - жрущими время и силы, если это делать периодически?
Есть те кто создает тулы. Есть те кто их юзает. Это разные уровни пищевой цепи по своим возможностям, зависимостям и проч.
> И в своё время я его под себя спокойно за вечерок допинал.
Я искренне сомневаюсь что вы смогли в те же глубины кастомизации и автоматизации за тот же вечер. И да, как же мега-апи и powershell? Не, не хочется на нем такое? :)
> PS а не портянки башовые же.
> Не надо благодарить что узнал что-то навое. Это наша работа - опенсурс
> раздача знаний циферным.Мне ваши знания по винде уже нужны как зайцу стопсигнал на самом деле. I will never go back.
> Именно поэтому везде его в лин хоть боком хоть крабом его пытаются впилить.
Это называется - wishful thinking и проекции.
> А где нет вми и реестра пилят кривули в стиле
> haproxy dataplaneapi. И у каждого своя.Не очень понимаю каким боком апя - эквивалент реестру. Реестр вообще - база данных конфигурации. Изначально появился потому что на FAT много мелких ini - жутко тормозило. А потом - обратная совместимость, однако!
Реально - отвратительная штука. Ни документации на большую часть ключей, ни коментов что сие, редактирование - одной уродской программой, или хардкор с апями. Антипод юзабилити и дружественности к админу имхо.
> Это просто говорит об уровне когнитивных способностей, но никак об инструменте.
Моего уровня когнитивных способностей хватает чтобы оффлоадить себя и разгонять свою эффективность, оптимизируя - именно этот фактор. В этом смысле bash в роли шелла очень даже. А ps - бессмысленнен и беспощаден.
> Человек за годы не умеющий посмотреть короткий видоролик как psreadline
Вы не понимаете. Я использую скрипты - для общей координации других программ. А не для того чтобы крутой процессинг - прям в скрипте. Это - ужасный изврат. Так что я раз что вы там кого-то показательно побили - на пустом поле, набивая голы муляжу вратаря. Можете медальку купить и гордиться до пенсии. Просто ценность этой "победы" имхо - в районе плинтуса.
Вы не поняли. Таких тулсов и для вон того - есть. Но как вы понимаете - ни один из этих тулов не был под мою специфику.
--Конечно, конечно.
У нас такие приборы - но мы вам не покажем. Не первый раз ты тут о кругу: у меня вот так можно и вообще всё можно - а как сделать так - я вам нанимался, это никому не надо - так значит всё сделать нельзя -у меня вот так можно и вообще всё можно...
Как ослик по кругу.--
И вопрос на самом деле был: а можете ли вы сами при нужде или желании взайти на ту ступеньку пантеона, став - равным вон тем? Или вы - обреченное прозябать на более низкой ступеньке иерархии? Уповающее на милости "богов"? И мирясь с неудобствами, недопилками, недоделками, кривизной и проч - жрущими время и силы, если это делать периодически?
Есть те кто создает тулы. Есть те кто их юзает. Это разные уровни пищевой цепи по своим возможностям, зависимостям и проч.
--Именно так, я автоматизировал всё до чего дотянулся под вин. Под лин из-за стейблапинонсенс меня уже заколебало всё это ПО скручивать изолентой и соплями.
--
Я искренне сомневаюсь что вы смогли в те же глубины кастомизации и автоматизации за тот же вечер. И да, как же мега-апи и powershell? Не, не хочется на нем такое? :)
--Да вот прям так взял и переправил в потрозхах всё что мне надо. А потом Import-Module ConfigurationManager. И дальше пошло то что тебе на портянках и не написать за приемлемое время.
--
Мне ваши знания по винде уже нужны как зайцу стопсигнал на самом деле. I will never go back.
--Просто ты их не имеешь. Ну а как же лицо анониму на опеннете потерять - невозможно же. Вот и ходишь тут инфоцыганишь.
--
Это называется - wishful thinking и проекции.
--К РХ сходи, там тебе и про проекции и про реестр и про всё остальное расскажут.
Но если глазки закрывать то бабайки нет.--
Не очень понимаю каким боком апя - эквивалент реестру. Реестр вообще - база данных конфигурации.
--
Вот именно. А потом есть ещё связка вми - реестр во многих местах. И ты прекрасно можешь этим пользоваться и спокойно управлять разбросанными сервисами без развала и написание вот таких кривулек под каждую вещь.--
Реально - отвратительная штука. Ни документации на большую часть ключей, ни коментов что сие, редактирование - одной уродской программой, или хардкор с апями. Антипод юзабилити и дружественности к админу имхо.
--Ну мы же уже выяснили что с когнитивными способностями у тебя плохо. Абсолютное большинство всё что надо находят а у тебя кривые программки. Да ещё какие-то детские травмы от апи. Вот и пегдолишься с портянками.
А поверх реестра прекрасно делается гпо. И многое ПО пошло и воспользовалось этим. И теперь централизованные прекрасные политики. Но кулибиным недосуг - они портянки пишут на каждый случай, они же везде.--
оего уровня когнитивных способностей хватает чтобы оффлоадить себя и разгонять свою эффективность, оптимизируя - именно этот фактор. В этом смысле bash в роли шелла очень даже. А ps - бессмысленнен и беспощаден.
--Это что-то на инфоцыганском.
--
Вы не понимаете. Я использую скрипты - для общей координации других программ. А не для того чтобы крутой процессинг - прям в скрипте. Это - ужасный изврат.
--
Изврат это когда ты потрошка с гитхаба тащищь, а там всё вплоть до апи поменялось. И заново скриптуешь, скриптуешь. А тут всё в одном инструменте. пш, можно дотнет подоткнуть, вскод сразу покажет что не так. Куча цмдлетов под кучу систем. Хоть вмваре порулить.
Ах да, это не твой: вишфул синкинг майн джоп.
Уровня фор сед авк через перл.
> --
> Конечно, конечно.
> У нас такие приборы - но мы вам не покажем.Это говорит человек - таки показавший, на публику, что даже цитировать нормально на форуме не способен. Вы не коллега User случайно?
>> И вопрос на самом деле был: а можете ли вы сами при
>> нужде или желании взайти на ту ступеньку пантеона, став - равным вон тем? ...
> Именно так, я автоматизировал всё до чего дотянулся под вин.Я имею нескромность думать что времянки решения задач у меня и вас - очень сильно разные. И совсем не в вашу пользу. А винду до по настоящему желаемого поведения я так ни разу и не допинал. Там даже с темной темой оформления по жизни, пардон, полный ахтунг.
> Под лин из-за стейблапинонсенс меня уже заколебало всё это ПО скручивать
> изолентой и соплями.Вы жесточайше палитесь.
1) Стейбл апи нонсенс есть только в кишках ядра. Это затрагивает только узкую касту господ - программистов режима ядра.
2) И кстати под винду драйверы програмить все равно намного геморнее имхо.
3) Выше я заподозрил как мои времена решения задач соотносятся с вашими и вы сами написали почему. Я не дергаю API для системной автоматизации. Там надо рулить макроблоками, а не заниматься - вот этим вот микроменеджментом.> Да вот прям так взял и переправил в потрозхах всё что мне
> надо. А потом Import-Module ConfigurationManager. И дальше пошло то что тебе
> на портянках и не написать за приемлемое время.А я и не буду на портянках это писать. Доустановлю эн программ. Модульно. И вызову их, шелл лишь общую координацию сделает. Ессно не на уровне дерга апей.
И суммарно решение будет сделано - раз в 10 быстрее чем пока вы будете печатать ваши Wtf-Something и с типизацией бороться. Интересно, майкрософт сделал такой кейс и длину команд чтбы интерактив совершенно точно нагнуть? Или индусикам при постановке задачи манагер просто не сказал что шелл в IDE програмить - изврат, и пользуются им - интерактивно? :)
> Просто ты их не имеешь. Ну а как же лицо анониму на
> опеннете потерять - невозможно же. Вот и ходишь тут инфоцыганишь.Не, вот тут вы не правы. Цырк показываете тут вы - даже цитировать не умеете, но пытаетесь сойти за эксперта. Я знаю пару сотен экспертов получше - у которых и буду учиться.
> К РХ сходи, там тебе и про проекции и про реестр и про всё остальное расскажут.
Это наверное про рхбм. Но знаете, даже конфиги системды прекрасно рихтуются моими любимыми эдиторами. То что реестру не дано. Ну, почти.
> Но если глазки закрывать то бабайки нет.
Не, не так. Если свою систему знать - в ней все будет так как хотелось, удобно и эффективно. Потому что дома и стены помогают. Винда как дом не годится, хотя-бы на основании того что в EULA написано - что я не хозяин а арендатор на птичьих правах. Поэтому очень много чего - элементарно нельзя.
>> Не очень понимаю каким боком апя - эквивалент реестру. Реестр вообще -
>> база данных конфигурации.
> Вот именно. А потом есть ещё связка вми - реестр во многих местах.Ога. Майкрософт сделал знатнейший франкенштейн. Теоретически идея может и неплохая. Практически - это майкрософт, оверинженерия, переусложненность, вендорлок. Поэтому реально где было что-то сравнимое надо победили - пингвины. И совсем другие инструментарии. И никому кроме их имплементера вообще не интересно как оно там внутрях работает.
> И ты прекрасно можешь этим пользоваться и спокойно управлять разбросанными
> сервисами без развала и написание вот таких кривулек под каждую вещь.Для меня основные проблемы реестра это...
1) Он огромный. В нем более 100500 параметров.
2) Ковырять все это предлагается довольно убогим инструментарием.
3) В нем нет никаких коментов что это и почему.
4) Более того! Многие параметры - просто недокументированы.
5) В него гадят все кому не лень. По поводу и без. Что усугубляет ситуацию.
6) Прописывание настройки в реестр само по себе ничего не говорит как и когда это будет зааплаено. Это сильно отдельное знание.Суммарно - я пешочком постою копаться в этих авгиевых конюшнях.
> Абсолютное большинство всё что надо находят а у тебя кривые программки.
Абсолютное большинство - кушает что дали, как есть. Но их эффективность взаимодействия с компьютерными системами - меня не устроит.
> Да ещё какие-то детские травмы от апи.
Ровно наоборот. Я вырос и понял что заниматься микроменеджментом ос через апи когда то что я хотел в 20 раз быстрее делается вон там, с модуляризацией системы на утилсы и их дергом, "макро" блоками - нафиг надо. Только времени и сил на это тратится сильно по разному.
> А поверх реестра прекрасно делается гпо.
Если вы про груп полися, то они лишь частично поверх реестра. И я в курсе что такое System Volume Information и как это все фетчится с AD по сетке (а заодно и как на все ваши GPO возложить этсамое, ага :D). В целом - картонный домик. И довольно глючный как по мне. Во всяком случае когда оно было мне надо - массдеплой софта через груп полися работал хтонически криво и баговано.
Т.е. простейшая задача - раскидать софтину на 100 машин - превращается в какую-то боль и трэш. Это майкрософт, чо. На бумаге все круто. Но если попробовать обещаное еще и реально поюзать - можно узнать много нового. Чаще всего - неприятного.
> И многое ПО пошло и воспользовалось этим.
Вы бы долго угорали если узнали кому это все рассказываете.
> И теперь централизованные прекрасные политики.
1) Это в таком виде надо только полутора отшибленым корпоратам.
2) И я видел как это реально работает, можете не напрягаться.
3) Как видите, корпы для своих нужд сделали и для линя тулсы группового управления.А прелесть линя в том что я при желании могу и сам это сделать за разумное время с разумными силами. Не, групповые полися и корп тулсы не особо катят - для например выводков одноплатников. И долбаный master-slave энтерпрайз с мерзкими винтиками и всей этой полисовкой - предпочитаю другое рабочее окружение, увы и ах.
> Изврат это когда ты потрошка с гитхаба тащищь, а там всё вплоть
> до апи поменялось.1) Для меня не особо характерно таскать с гитхаба что попало неизвестно зачем.
2) Нормальные люди давно уже научились - указывать конкретный комит который они хотят, если это соображение важно.
3) В целом все это не распознается мной как какая-то проблема заслуживающая внимания.Но как я вижу некоторых за дофига лет - не попустило. Они находят грабли даже там где это довольно сложно.
> И заново скриптуешь, скриптуешь.
Это бред. Скрипты на bash замечательны тем что как раз их в отличие от например питона - переписывать особо и не надо как раз.
> А тут всё в одном инструменте.
Я предпочитаю сегментацию и модульность а не гигантоманию. Большому кораблю - большая торпеда.
> Уровня фор сед авк через перл.
Те кто в это умеют - решают довольно сложные задачи за пару минут. А вы с вашими апями и мегатулами - будете пару дней пыхтеть. Я видел как это работает, имел возможность сравнить.
Продуктивность от используемой ОС зависит примерно никак.
> Продуктивность от используемой ОС зависит примерно никак.Поюзав винду и пингвин я имел возможность сравнить. И почему-то с пингвином я смог в разы больше и быстрее. Очень странно. Если теория не подтверждается практикой - это хреновая теория.
> я себе сделал генератор образов систем и VM на ономЧуть больше 800 строк на PS заняло управление виртуалками и виртуальными свичами в Hyper-V, раскатыванием образов и гуем для пользователей. Написал за один рабочий день. Девелоперы дуреют от счастья: нажал циферку для количества нод, выбрал размер и тип, нажал на кнопку — и через пару минут у тебя на локалхосте отдельный кубернетес кластер, который функционально от прода неотличим для любого практического применения. Картриджи иди тряси, интегратор мамкин.
"Фичи одинаковые." vs "Cmd.exe содержит где-то половину функциональности баша," Вам не кажется, что это противоречащие друг другу тезисы в одном посте.
Работавший и с тем и с другим, скажу, что второй тезис верен. ) Даже меньше половины и примитивнее.
Та функциональность, что имеется, вполне совпадает, так что, никаких противоречий.
Ясно понятно.
У поциента весь мосК и только его половина - работает одинаково :)
> Одно и то же.Теоретически все тюринг полные ЯП эквивалентны. Теперь попробуйте написать вашу программу на Брейнфаке, например. Если покажется что это слишком просто, возьмите subleq.
Чатгпт говорит это ерунда, Malbolge поинтереснее. Он не смог дать мне код посчитать факториал числа и утверждает, что никто не решил подобную задачу и весьма не реалистично её решить вручную.
> Чатгпт говорит это ерунда, Malbolge поинтереснее. Он не смог дать мне код
> посчитать факториал числа и утверждает, что никто не решил подобную задачу
> и весьма не реалистично её решить вручную.А ты вот так сходу на subleq факториал посчитаешь? :)
Услышал про Malbolge из сериала Элементарно. В одна серии промелькнул код.
У баша документация получше, и влезла вся в один manpage. Батники по сути своей мало чем отличаются, но после попытки ими попользоваться ощущется подход майкрософта аля "и так сойдёт, наймём десять тысяч индусов написать код на Си для того, что раньше делала портянка".
в один здоровенный manpage, и не факт что вся
> в один здоровенный manpage, и не факт что всяЕсли этого мало, то есть интерактивный info bash. На самом деле, advanced bash scripting осваивается достаточно быстро, если есть желание использовать баш как ЯП.
не, в info сами лазьте, я не проктолог, схожу в браузер - загуглю "bash docs", если уж приспичит
отлично-отлично, "я программист, мне маны читать некогда" 2.0
хмм, почитать километровый man "page" или полноценную документацию...
интересно, есть ли в мире такая "page", на которой бы поместился этот man?
Как сказать, что ты не читал ни манпейдж, ни референс мануал для баша, не говоря, что ты не читал ни манпейдж, ни референс мануал для баша.Я тебе один умный вещь скажу, ты только не обижайся - они отличаются примерно ничем, кроме порядка размещения параграфов.
Зато man bash (как и info bash, который и есть референс мануал) уже лежат у тебя на локальном диске.
Поэтому своим "схожу в браузер - загуглю" ты в лучшем случае убьешь 15 минут тупо впустую. Это в лучшем, если тебе не подсунут какой-нибудь замшелый пересказ, скопипащенный с лиссярия или у федрочука какого-нито.
Но ты не унывай. Ты ведь программист, да? Зачем тебе какие-то маны? Их только маньяки читают, и то - не все.
всё верно, такой ман "пэйдж" мне и даром не нужен - да, не по кулхацкерски, но не всем же дано прыгать в less по километровому ману и помнить упоротые биндинги infoи да, gnu.org конечно, сайт крайне сомнительный, ходим и крестимся как бы чего не этого
gnu.org какой надо сацт, единственный минус info в том, что я не разобрался, как там его открывать развёрнутым
> не, в info сами лазьте, я не проктолог, схожу в браузер -
> загуглю "bash docs", если уж приспичитофигеть не встать
man -- это краткая документация
info -- это полная, с примерами
а загуглить -- это "одна бабка сказала"давайте уж сразу: не хочу учиться, хочу жениться...
>> не, в info сами лазьте, я не проктолог, схожу в браузер -
>> загуглю "bash docs", если уж приспичит
> офигеть не встать
> man -- это краткая документация
> info -- это полная, с примерами
> а загуглить -- это "одна бабка сказала"
> давайте уж сразу: не хочу учиться, хочу жениться...Ну, если "сказанное бабкой" приводит ну вот к тому же самому результату? Мне корочки геодезиста не нужны - мне понять, как до магазина дойти пока мобильный интернет не заработает надо...
> Ну, если "сказанное бабкой" приводит ну вот к тому же самому результату?
> Мне корочки геодезиста не нужны - мне понять, как до магазина
> дойти пока мобильный интернет не заработает надо...На офлайн карты юзера виндов - тоже видимо не хватило. И тут он узнал почему продвинутые мапперы этим заморачивались - сложным способом. Когда оказалось что интернет временно недоступен, поэтому вендорлокеры с серверами - немного превратились в тыкву.
На офлайн карты юзера виндов - тоже видимо не хватило.
--А у юзеров невиндов видимо эфимириды через эфир качаются. И туда рэб не добивает, точно. Настолько они великие.
> А у юзеров невиндов видимо эфимириды через эфир качаются.Логично. GPS так работает - by design. И так то - уповать на 1 систему менее чревато чем на две. Когда вероятность успеха - произведение вероятностей, это совсем не прикольно.
> И туда рэб не добивает, точно. Настолько они великие.
Вы там что, на линии фронта живете? Тот неловкий момент когда можно с чистой совестью сказать - suxx to be you.
> но после попытки ими попользоваться ощущется подход майкрософта аля "и так сойдёт, наймём десять тысяч индусов написать код на Си для того, что раньше делала портянка".Вот прямо первое (и последующие) ощущеия от баша.
Назначение - да. Но синтаксис несовместим, поэтому, если нужна кроссплатформенность скрипта (запуск того же скрипта под любой ОС), нужно провнерять, под какой системой запущен скрипт и использовать соответствующие ветви скрипта. Я так всегда делаю, поэтому мои скрипты работают под любой ОС (дополниетльно к перечисленным также под BSD и Haiku).
Для этого изобрели Pyton и Java.
> Для этого изобрели Pyton и Java.Чтобы использовать, нужно установить. Чтобы установить, нужно подключиться к Интернету. Для пользователя может быть неудобно - вы даете ему скрипт и требуете выполнения ряда условий, чтобы он у него заработал. Некрасиво. Проще "помучиться" с сабжем и получить тот же результат без накладных проблем.
Python сейчас по умолчанию не везде разве? (васянов в счёт не берём)
> Python сейчас по умолчанию не везде разве? (васянов в счёт не берём)Да, но вот беда - сильно разных версий - и даже стандартную библиотеку языка debiзьян в свое время паковал вот - не полностью, кому-что-надо-доставьте-из-пакетиков, ога.
> Для этого изобрели Pyton и Java.С жявой не пробовал (С groovy больмень, хоть и с нюансами), а вот с python'ом это вы хорошо пошутили, искрометно!
А что не так? Сейчас Pyton используют везде, скрипты уж тем более, учитывая что на нём бекэнд пишут.
> А что не так? Сейчас Pyton используют везде, скрипты уж тем более,
> учитывая что на нём бекэнд пишут.Ну вот ты попробуй, да. Хрен с ним, с виндами-макосью-бсд - вот просто скрЫпт делающий что-нибудь полезное и без проблем работающий в rhel8-debian12-ubuntu24-arch, ага.
> просто скрЫпт делающий что-нибудь полезное и без проблем работающий в rhel8-debian12-ubuntu24-archИ с чем ты там не справился? Покажи, даже интересно ГДЕ там можно было так облажаться.
>> просто скрЫпт делающий что-нибудь полезное и без проблем работающий в rhel8-debian12-ubuntu24-arch
> И с чем ты там не справился? Покажи, даже интересно ГДЕ там
> можно было так облажаться.Ну вот третьего дня поломался соседушкин скрипт на модуле logging из-за добавленного В 3.9 параметра encoding причём на 3.6 он как раз отработал - тем просто пофиг на лишние поля в словаре, а вот на 3.8 strict-проверку включили - и ой.
Но если использовать print() для всего - от отладки до логгирования многого можно избежать - но с f-strings надо осторожнее)
Как уже написали, Bash не корректно сравнивать с CMD, скорее с Powershell.
В Powershell можно жить вообще без графики, при желании.
> Как уже написали, Bash не корректно сравнивать с CMD, скорее с Powershell.
> В Powershell можно жить вообще без графики, при желании.Более того, с ps можно даже рабочий гуй запилить - и он при этом от запуска на соседнем компе вдребезги-напополам не сломается, вот чудеса-то какие!
Есть скриншоты посмотреть? Речь про Text-based user interfaces (TUI)?
> Есть скриншоты посмотреть? Речь про Text-based user interfaces (TUI)?Не, именно что нормальный gui.
Что-нибудь вида Get-Process | Out-GridView
У нас с 1980-ых есть:
- для TUI - dialog и его нынешние переписЬки (типо whiptail-a)
- для GUI - Zenity и ещё миллион подобных.Ваш ход :)
> У нас с 1980-ых есть:
> - для TUI - dialog и его нынешние переписЬки (типо whiptail-a)
> - для GUI - Zenity и ещё миллион подобных.
> Ваш ход :)Вы еще "о пользе проклятий" помяните )
> Более того, с ps можно даже рабочий гуй запилить - и он
> при этом от запуска на соседнем компе вдребезги-напополам не сломается, вот
> чудеса-то какие!Кто о чем а юзер винды - о гуе. Интересно нафиг он в автоматике на которую никто и не смотрит толком в большей части случаев и делает это все как раз - чтобы зарядить таск, и - забыть о нем, делегировав разборку с микродеталями - машине?
Хотя какие ОС, такие и пользователи - и автоматизация у них.
>> Более того, с ps можно даже рабочий гуй запилить - и он
>> при этом от запуска на соседнем компе вдребезги-напополам не сломается, вот
>> чудеса-то какие!
> Кто о чем а юзер винды - о гуе. Интересно нафиг он
> в автоматике на которую никто и не смотрит толком в большей
> части случаев и делает это все как раз - чтобы зарядить
> таск, и - забыть о нем, делегировав разборку с микродеталями -
> машине?
> Хотя какие ОС, такие и пользователи - и автоматизация у них.Ну это у вас других задач кроме писания "одноразовых однострочников"(ТМ) каждый раз как в первый раз нет - а у людей есть, и инструмент на удивление - даже позволяет их решать примерно мнээээ... на уровне python'овского tkinter'а.
> Ну это у вас других задач кроме писания "одноразовых однострочников"(ТМ) каждый раз
> как в первый раз нет - а у людей есть, и
> инструмент на удивление - даже позволяет их решать примерно мнээээ... на
> уровне python'овского tkinter'а.Только вот смысл занятия этим непотребством - совершенно не раскрыт. Хотя если очень хочется, из баша тоже можно открывать диалоги - хоть гуйные - показывать прогресс бары всякие и проч. Ибо есть всякие утилиты для этого.
А как пример - у меня энный скрипт кажет допустим системные notifications. Но, конечно, сам он никакие апи для этого не дергает а вызывает программу. Не хватало мне еще апю для разовой нотификации пару раз за всю работу системы - самому дергать.
>Добавлена загружаемая команда "kv", формирующая ассоциативный массив на основе набора данных в формате "ключ значение".Как неожиданно и приятно.
Ого! Эпичная новость! Каждый линуксоид в открывая терминал работает с ним.
Ребята, мой вам совет. Переходите на nushell. Пока не поздно.Лучшая оболочка и язык программирования. Кросс-платформенная.
Уже давно.
Где-то об этом говорил уже. Может, и лучше, но чтобы использовать, нужно установить. Чтобы установить, нужно подключиться к Интернету. Для пользователя может быть неудобно - вы даете ему скрипт и требуете выполнения ряда условий, чтобы он у него заработал. Некрасиво. Проще "помучиться" с сабжем и получить тот же результат без накладных проблем.
> Чтобы установить, нужно подключиться к Интернету.Зачем от него отключаться?
Как-то на конторе один раз всплыла критичная проблема, которую за 10 минут обошли скриптом на ноде. Наверное можно было и на баше/цмд/повершелле, но надо было кроссплатформенно и очень быстро. Ничего, кому было срочно - поставили ноду и запускали скрипт без претензий. Потом уже через несколько часов починили нормально, но скрипт сохранили на всякий случай.Если пользователю нужен скрипт, но у него _нет_ интернета (интересно, как он этот скрипт получил тогда) - значит пользователь достаточно умный и сможет сам себе переписать исходный скрипт на что угодно в наличии.
> интересно, как он этот скрипт получил тогданет интернета != нет интранета
с другой стороны, подавляюще большинство уже ничего он-премом не держит, все продались облакам
> нет интернета != нет интранетафорсмажор с тобой не согласен
> Ребята, мой вам совет. Переходите на nushell. Пока не поздно.
> Лучшая оболочка и язык программирования. Кросс-платформенная.Вот лично я шеллом пользуюсь для системной автоматизации на 80%. А этой штуки нет в репах дистро. Конец истории.
Речь не про локалхосты, а про продакшен.
> Речь не про локалхосты, а про продакшен.Там все совершенно аналогично. Но можно конечно притащить сторонний варезок от васянов. А потом если кто порутает 100500 серваков - заодно и линчуют как раз умника который это сосватал.
>> Речь не про локалхосты, а про продакшен.
> Там все совершенно аналогично. Но можно конечно притащить сторонний варезок от васянов.
> А потом если кто порутает 100500 серваков - заодно и линчуют
> как раз умника который это сосватал.Да нет, не аналогично. В prod'е в худшем случае ansible-salt, а то и вовсе вот - terraform+kustomize а баша нет - совсем нет - вообще нет - никак нет. И поставить нельзя.
> Да нет, не аналогично. В prod'е в худшем случае ansible-salt, а то
> и вовсе вот - terraform+kustomize а баша нет - совсем нет
> - вообще нет - никак нет. И поставить нельзя.Чтобы баша нет - это вообще какой-то жуткий маздай должен быть. А в linux он извините - по дефолту. И эта что-б@я его в половине случаев сама и зовет.
Но вот маздай, подлежащий автоматизации - это очень нишевой и немногочисленный прод, типа контроллеров доменов и проч. Большая часть серваков на этом глобусе - линух. Даже на этом вашем абажуре, тудыть. И баш там - out of the box тупо.
>> Да нет, не аналогично. В prod'е в худшем случае ansible-salt, а то
>> и вовсе вот - terraform+kustomize а баша нет - совсем нет
>> - вообще нет - никак нет. И поставить нельзя.
> Чтобы баша нет - это вообще какой-то жуткий маздай должен быть. А
> в linux он извините - по дефолту. И эта что-б@я его
> в половине случаев сама и зовет.ну вот недалее, как вчера зОказчег отдал раскатанный terraform'ом куберовский кластер на базе какого-то минимального debian'а с вот единственным запущенным k3s. Хз, есть там bash\dash - но вот SSH отсутствует определенно. И да, как настрою - exec в контейнер у тебя тоже не получится - ИБэ не велит ).
> Но вот маздай, подлежащий автоматизации - это очень нишевой и немногочисленный прод,
> типа контроллеров доменов и проч. Большая часть серваков на этом глобусе
> - линух. Даже на этом вашем абажуре, тудыть. И баш там
> - out of the box тупо.Нуэээда, может быть - но вот добраться до него в managed cloud - удачи, сынок. Вот тебе абажур cli - его и тыкай, а унутрь не лезь, не надь оно тебе.
> базе какого-то минимального debian'а с вот единственным запущенным k3s. Хз, есть
> там bash\dashDebian по моему технически невозможно без bash раскатать. Т.е. даже в ультраминимальных образах just enough для запуска apt (минимальнее его сделать просто нельзя) - bash вкатывается как чей-то depends. И гарантированно есть - всегда. Без него - это не дебиан.
> - но вот SSH отсутствует определенно.
ВНЕЗАПНО у меня тоже полно образов с дебианом где есть bash/dash, и никакого ssh.
Видите, хотя я не ворочаю вон теми - некоторое пересечение множеств бывает и с ними.
> И да, как настрою - exec в контейнер у тебя тоже не получится - ИБэ не велит ).
Мне пофиг - я сам себе образа генерю и там будет так как удобно мне. А ваш ИБ мне - конь в пальто, к счастью.
>> - линух. Даже на этом вашем абажуре, тудыть. И баш там
>> - out of the box тупо.
> Нуэээда, может быть - но вот добраться до него в managed cloudДа бороздят, бороздят, но - наличие bash это все никак не отменяет. Как и возможность его использования. В том числе и вон теми тулсами, ага!
А в этом вашем без ssh - потом при траьлшутинге проще застрелиться нахрен. Нормальные люди об этом догадываются и к клиентам accenture с баззвордами - не забредают.
> Там все совершенно аналогично.Но только если весь твой продакшен это локалхост.
>> Там все совершенно аналогично.
> Но только если весь твой продакшен это локалхост.Этих локалхостов сейчас - даже на абажуре линуха более 70%. И у них всех bash есть вот просто сразу. Без него вообще линуховый образ/контейнер не соберешь тупо. И можно ГАРАНИИРОВАНО уповать на его наличие.
Дооо! Там такого *****а нет, аж в абсолютный ноль (по Кельвину) :)
Эта штука есть в репах дистра. Многих.
Только я вообще ничего не понял. Там один бинарник, всего.Я, конечно спорить не буду. Но «нет в репах- конец истории» выглядит смешно в современных реалиях. Как и понятие «система» в 2025 году. Система- это несовместимые баш портянки? Сотни несовместимых между собой мини программ? Сотни каких-то идиотских опций у каждой? Regex, который у этих программ у всех разный?
Конечно нет ))) Это скрипты на "пистоне", которые просто "идеально совместимые" от версии к версии )))
> Конечно нет ))) Это скрипты на "пистоне", которые просто "идеально совместимые" от версии к версии )))Да ладно тебе, питон — отличный язык! Причем в каждой минорной версии! ))
> Конечно нет ))) Это скрипты на "пистоне", которые просто "идеально совместимые" от
> версии к версии )))Ты что, не додумался загуглить совет "В контейнер заверни!!"? Ну ты л-шара! )))
> Ты что, не додумался загуглить совет "В контейнер заверни!!"? Ну ты л-шара! )))И скриптом своим содержимое этого контейнера и настраивай.
И да - обновлять контейнер даже не вздумай.
>> Ты что, не додумался загуглить совет "В контейнер заверни!!"? Ну ты л-шара! )))
> И скриптом своим содержимое этого контейнера и настраивай.
> И да - обновлять контейнер даже не вздумай.Вот! Сразу видно понимающего человека!
Так и живем, чо.
> Эта штука есть в репах дистра. Многих.Не вижу такой пакет в Debian. И в деривативах по наследству - вероятно, аналогично.
> Только я вообще ничего не понял. Там один бинарник, всего.
А какая разница если в репах кучи ос его нет? Я что, буду сам какой-то левый варез на все хосты распихивать, разбираясь где его взять и как проверить что это не малварь? При том что bash там out of the box есть? Лол.
> смешно в современных реалиях. Как и понятие «система» в 2025 году.
В современных реалиях я вижу - дофига bash в проде. А где этот nut-что-то-там я вообще не знаю.
> Система- это несовместимые баш портянки?
Баш портянки как раз очень неплохо совместимы в общем случае.
> Сотни несовместимых между собой мини программ?
Не знаю кто там несовместимый?
> Сотни каких-то идиотских опций у каждой? Regex, который у этих программ
> у всех разный?То ли дело какой-нибудь 1 универсальный жирномонстр который разве что не лопается от своего веса (но это не точно), но в котором все равно потом не окажется чего-то нужного, а доустановить программу-модулек или даже свою корябнуть - дел на 5 минут, но вон то на это не заточено, так что вот вам.
Например: как обучить bash JSON'у? Поставить jq. А как такие как вы сделают? Вопрут парсер и проч всем вообще. Даже кому оно нахрен не. И так для более 9000 фич. Конец немного предсказуем - получится очередной уродец типа powershell. И с чем он будет совместим то, кроме сам себя?
>> Система- это несовместимые баш портянки?
> Баш портянки как раз очень неплохо совместимы в общем случае.Ха. Ха. Ха. Запусти скрЫпт длиннее 50 строчек на macos, windows, rhel и ubuntu без переписывания и приходи, вместе посмеемся...
Баш-портянки сами с собой несовместимы. Хотел как-то установить одну игрушку с GOG, ну, думаю, есть же нативная версия. А там установщик как раз в виде баш-портянки. И вываливается с какой-то неудобоваримой ошибкой. Я поиграть хотел, а не баш изучать. Поставил через Wine без проблем в итоге.
Если вычеркнуть недооси то останется rhel и ubuntu - без проблем!
> Если вычеркнуть недооси то останется rhel и ubuntu - без проблем!Ну да, ну да - сразу видно человека, который даже и не пробовал )).
В 8м rhel'е если что - протухший 3.6 в дефолтах со всеми вытекающими.
> В 8м rhel'е если что - протухший 3.6 в дефолтах со всеми вытекающими.Еще в 6-м rhel работает. И в последних debian'ах.
Смотря как писать. Подстраиваться приходиться - это да.
>> В 8м rhel'е если что - протухший 3.6 в дефолтах со всеми вытекающими.
> Еще в 6-м rhel работает. И в последних debian'ах.
> Смотря как писать. Подстраиваться приходиться - это да.Ну вот здесь мы имеем пример так называемого трындежа - ну или натягивания совы на глобус в лучшем случае. В совместимость хелловрота между 3.6 и 3.12 я с некоторым скрЫпом поверю (Хоть там даже на уровне стандартной библиотеки немало грабель поназакопано, но специяльно стараясь обойти можно) - а в совместимость с 2.6.6? No way.
Явно видно человека никогда не работавшего подолгу над одним проектом.Какие проблемы если код твой? Переносимое используешь непереносимое - нет.
Да и никто не мешает написать две версии и вызывать проверив номер.
>> В 8м rhel'е если что - протухший 3.6 в дефолтах со всеми вытекающими.
> Еще в 6-м rhel работает. И в последних debian'ах.
> Смотря как писать. Подстраиваться приходиться - это да.Блин, сорян - меня с bash'а на python унесло. С первым все тоже не идеально - но проблемы другие, да.
> Ха. Ха. Ха. Запусти скрЫпт длиннее 50 строчек на macos, windows, rhel
> и ubuntu без переписывания и приходи, вместе посмеемся...MacOS и Windows - в продакшне используются очень нишево. Мягко говоря. На серверах обычно линух, кроме сильно некоторых вещей.
Ну и для симметрии - а покажете такой фортель для powershell? Там вон кто-то пискнул что он кроссплатформерный, о как :)
Какой именно фортель? Он так-то и на mac и на linux практически однокнопочно ставится, что не так-то?
Ставиццо - таки да ... А потом то что?!Хотим из линуска AD повертеть ... а ЙУХ вам, только для белых (только из форточки).
Я то конечно могу извратится с ремотом ... но это именно что - изврат! И так - то всему мясокомбинату!
Но ставится - да, просто :)
> Ставиццо - таки да ... А потом то что?!
> Хотим из линуска AD повертеть ... а ЙУХ вам, только для белых
> (только из форточки).
> Я то конечно могу извратится с ремотом ... но это именно что
> - изврат! И так - то всему мясокомбинату!
> Но ставится - да, просто :)Эээ... но зачем хотеть НАСТОЛЬКО странного? Зашквар жи для правоверного!
> выглядит смешно в современных реалиях.Именно. sh есть везде, а вот как поставить ваше, на коммутатор китайский, и именно коммутатор, а не роутер, или какую-нибудь esp... а никак
Ребята, мой вам совет. Переходите на Powershell. Пока не поздно.
Лучшая оболочка и язык программирования. Кросс-платформенная.
> Ребята, мой вам совет. Переходите на Powershell. Пока не поздно....и вы сможете делать то что делали за 2 минуты - за полдня :). Вот это апгрейд! :)
> Лучшая оболочка и язык программирования. Кросс-платформенная.
Не вижу эту шляпу в пакетах моего дистро. Вот такая вот хреновая кроссплатформенность.
Как говорится, автомобиль Форд может быть любого цвета, а софт от майкрософт корссплатформенный - при условии что вы его билдуете под винду. С ESE DB такая же фигня примерно. Поэтмоу оно уже 4 года как валяется хз зачем в состоянии дохляка.
>...и вы сможете делать то что делали за 2 минуты - за полдня :). Вот это апгрейд! :)Просьба аргументировать, привести примеры, спасибо.
>Не вижу эту шляпу в пакетах моего дистро. Вот такая вот хреновая кроссплатформенность.
Кроссплатформенность это значит что программа может работать на разных платформах, в данном контексте на разных операционных системах, в то числе Windows, Linux.
Кроссплатформенность не означает что Powershell обязан быть в репозиториях твоего дистрибутива. Претензии о том что Powershell отсутствует в репозиториях твоего дистрибутива следует адресовать авторам твоего дистрибутива.
>Как говорится, автомобиль Форд может быть любого цвета, а софт от майкрософт корссплатформенный - при условии что вы его билдуете под винду.Людей умеющих работать в Powershell больше, чем в том же Bash, поэтому это имеет смысл.
>С ESE DB такая же фигня примерно. Поэтому оно уже 4 года как валяется хз зачем в состоянии дохляка.
Что это за база данных и какое отношение она имеет, не знаю и не хочу знать.
Вот тебе репозиторий https://github.com/PowerShell/PowerShell
> Просьба аргументировать, привести примеры, спасибо.Посмотри что у твоих админов на bash сделано и попробуй переписать это на PS.
А вот _потом_ приходи сюда и поговорим :))))
PS: Прикол там в том, что _некоторые_ вещи на PS и-в-правду проще делать. Некоторые ... но делать то надо - все! Ну и подумаешь трижды что на чём.
PPS: Пока Python был V2 - можно было на нём ещё. Третий это какое то безумство 8-\ не связывайтесь.
> Посмотри что у твоих админов на bash сделано и попробуй переписать это на PS.Я уже подогнал ему пример - респин системных образов с моим набором пакетов и кастомизациями, уникализацией инстанса ос и проч. Я на баше это себе за вечер сделал. Посмотрим как оно на ps получается? Особенно на винде :)
Я уже подогнал ему пример - респин системных образов с моим набором пакетов и кастомизациями, уникализацией инстанса ос и проч. Я на баше это себе за вечер сделал. Посмотрим как оно на ps получается? Особенно на винде :)
--Тебе уже подогнали ответ - осдбилдер, вимвитч. И кстати твои уникальности нигде не стучали, сейчас очень интересно идёт в районе идеи талос. И твой баш там вообще никуда не нужен и не используется.
И ты алаверды давай - за месяцок подогнать сборку ад и ексченджа. Естественно не от мс - зачем нам эта бяка, чисто опенсурс.
Ну давай, начинай ныть что ты не нанимался, что у тебя другие задачи. Про любимое лизание ботинок не забудь.
> Просьба аргументировать, привести примеры, спасибо.Типизация будет делать мозг, километровые конструкции и пути набивать - при почти не работающем дополнении - тоже продуктивности в решении задач не добавит.
Вон пример - генератор кастомных образов и VM за вечер, под себя. А что, покажете такой фокус на ps? Было бы интересно посмотреть - как вы такое вообще. Вот чтоб сразу преднастроенную систему генерить, с уникализацией инстанса, эн предустановленных программ и недефолтными настройками? Простая как тапка хотелка вроде.
> Кроссплатформенность это значит что программа может работать на разных платформах,
А она не может. Берем скрипт на ps - пробуем запустить его на условной убунте или макоси. Да, bash на макоси без проблем катит, в винде тоже можно нарулить без особых приключений, в убунте он сразу есть.
> Кроссплатформенность не означает что Powershell обязан быть в репозиториях твоего дистрибутива.
А я взамен - пешочком постою иметь дело с такой "кроссплатформенностью" имени MS.
> Претензии о том что Powershell отсутствует в репозиториях твоего дистрибутива следует
> адресовать авторам твоего дистрибутива.Я не собираюсь на это ms'овское нечто мое время тратить.
> Людей умеющих работать в Powershell больше, чем в том же Bash, поэтому
> это имеет смысл.Вот это очень храброе утверждение. А таки умеющих юзать bash я знаю сильно больше чем тех кто ps умеет юзать. Да и винда - не та ОС где productivity кто-то парится.
> Что это за база данных и какое отношение она имеет, не знаю
> и не хочу знать.Странно, фанат виндов не знает на чем его винда держится. Видимо в ней он тоже - не силен.
> Вот тебе репозиторий https://github.com/PowerShell/PowerShell
У ESE DB примерно такой же унылый репо. Майкрософт такие забавные опенсорснички :))
А она не может. Берем скрипт на ps - пробуем запустить его на условной убунте или макоси. Да, bash на макоси без проблем катит, в винде тоже можно нарулить без особых приключений, в убунте он сразу есть.
--Берём и ставим ps. Всё работает. Как в вин баш ставишь, то же самое.
Не суметь найти в документации, не первый раз, простой баш скрипт. Ты в курсе что это можно на баше скриптануть?
Прям роспись в неполноценности###################################
# Prerequisites# Update the list of packages
sudo apt-get update# Install pre-requisite packages.
sudo apt-get install -y wget# Get the version of Debian
source /etc/os-release# Download the Microsoft repository GPG keys
wget -q https://packages.microsoft.com/config/debian/$VERSION_ID/packages-microsoft-prod.deb# Register the Microsoft repository GPG keys
sudo dpkg -i packages-microsoft-prod.deb# Delete the Microsoft repository GPG keys file
rm packages-microsoft-prod.deb# Update the list of packages after we added packages.microsoft.com
sudo apt-get update###################################
# Install PowerShell
sudo apt-get install -y powershell# Start PowerShell
pwsh--
А я взамен - пешочком постою иметь дело с такой "кроссплатформенностью" имени MS.
--
Там всё прекрасно, и ставится на кучу дистров. И работает отлично, как надо.--
Я не собираюсь на это ms'овское нечто мое время тратить.
--Да все уже поняли что ты в мс не шаришь и рассказываешь байки: не очень то и хотелось.
--
Вот это очень храброе утверждение. А таки умеющих юзать bash я знаю сильно больше чем тех кто ps умеет юзать.
--Это просто говорит о фрик круге общения больше не о чём. У вас там и нетрадиционных наверное побольше. Но это же не аргумент.
--
Да и винда - не та ОС где productivity кто-то парится.
--Именно поэтому они первые написали скоростную msquic а в лине пыжились незнаю сколько. А так же на квик тестово посадили смб. А ты с коллегами в соседнем треде ищите какие же ключи прописать в самбу что бы 2.5Гб побить. Наверное всё дело в секретных ключах реестра.
--
У ESE DB примерно такой же унылый репо. Майкрософт такие забавные опенсорснички :))
--Примерно такое не последнее облако они на нём крутят.
Что там с твоими пердуинками? Скулайтом бьешь ненавистных корпорасов так что они в ужасе и бегут тебя просить поделиться инфоцыганщиной?
ИМХО: научитесь нормально цитировать до того как умничать. Т.е. или ">" для инлайн, или если это код, bb тег {code} (скобки там конечно квадратные).> Берём и ставим ps. Всё работает. Как в вин баш ставишь, то же самое.
Да ставьте наздоровье, если оно вам оно надо. Я за вас это все делать не буду. Особенно в вон том формате и ради вон тех "достижений" и "улучшений".
...
> # Download the Microsoft repository GPG keysНе, вот извините. Отдать мои компы под управление майкрософту - в мои планы ВООБЩЕ СОВСЕМ не входит. И характерное понимание майкрософтом опенсорса и процессов опять же.
Во первых, доверяю я - майнтайнерам моего дистро и ИХ полисям.
Во вторых, майкрософт в этой схеме - хренсгоры и "доверять" им в пакетах я не намерен.
В третьих, баш в отличие от - есть по дефолту. Сразу!
В четвертых он способствует продуктивности моей мелкой автоматизации и решению задач по месту.
В пятых там нормально работает автодополнение, в отличие от. И нет километровых команд с разным, блин, регистром, кучейпробелов и проч (особенно "удобно" пути сделаны в винде) - и такого же кода.И вот все это - чтобы что? Ощущать себя вторым сортом и майкрософт мне какую-нибудь гадость через пакетник сделал в их фирменном стиле? Не, это не поднимет эффективность на моих задачах. Я проверял когда был виндовым R&D. Переход на линя и освоение элементов *nix way - причина по кторой я развидел винды.
В общем у меня другая идея! А что если я буду фигачить на баше, или чем там мне удобно, что сразу есть в системах, которыми я ворочаю, и удобно и эффективно будет - мне?! А вторым или каим сортом побудете - вы, если вам от меня что-то надо. Мне от вас и вашего майкрософта не надо - ничего. Совсем. Никак. Я наелся "ms marketing bs" досыта. Добавки не надо.
> Там всё прекрасно, и ставится на кучу дистров. И работает отлично, как надо.
Ну вот кому оно надо - тому и карты в руки отношаться с тем шеллом таким способом. Для меня пойнт этой активности не понятен. Я не делаю bulk processing в шелле, не пишу скрипты на 50 кил 1 куском чтобы типизацией париться, не дергаю никакие апи в общем случае и проч. Для меня шелл это лишь координатор высокоуровневой логики. А майкрософт это так и не понял.
> Да все уже поняли что ты в мс не шаришь
Да, с неких пор мой уровень знаний в пингвинах и технологиях вокруг - сильно превысил таковой в винде. Мне теперь на винду и технологии майкрософт просто - пофиг. Я решил что хватит делать из проблем MS и их маркетинга свои проблемы. Пусть в рабочем окружениии удобно будет - конкретному мне. А остальные как хотят - так и встраиваются в это положение вещей, во! Так прикольнее. Как угодно но bash совпадает с моими ожиданиями от шелла, а ps в моих глазах это оверинженернутая страшенная пародия на шелл.
> байки: не очень то и хотелось.
Все так. Кроме того что это - не байки.
> Это просто говорит о фрик круге общения больше не о чём. У
> вас там и нетрадиционных наверное побольше. Но это же не аргумент.На ps шпрехает - полтора корпоративных извращенца. На bash навалом полезных мне так по жизни скриптов. Быть придатком к мегакорпе трясущимся что меня уволят - это вы без меня имхо.
> Именно поэтому они первые написали скоростную msquic а в лине пыжились незнаю сколько.
MS много что написал. И - это не оттранслировалось ни в какие результаты для их экосистемы в целом. И в топе всех минимально интересных мне бенчей - вовсе не MS и их адепты.
А пока Windows Server обгонял Linux, LSE свалил на пингвин чертыхаясь что винда и нетчина не смогли в обещаные латенси - но смогли в дойку по 40M$ за релиз. Что хотите то и делайте, но testimonials виндов - вот такое вот.
> в самбу что бы 2.5Гб побить. Наверное всё дело в секретных
> ключах реестра.Чел, ты не понял. Меня вообще интересуют скорее мелкие, легкие и эффективные решения. Я более всего успешен вообще - в одноплатниках и эмбедовке. Там от винды вообще ничего кроме боли пониже спины не бывает.
И вот тут коронный номер: bash и там такой же как у меня на десктопе, 1 в 1 (как и весь дебиан, кстати). А ps в половину этого по ресурсам не влезет. Не, я не буду покупать более дорогие модули и одноплатники "чтобы офигенный шелл запустить". Эти деньги в моем кармане смотрятся намного лучше.
Но если вы хотите порубаться - вон там TechEmpower есть. Когда выставите из топа вон тех, с io_uring, мы поговорим за перфоманс. А до тех пор ваши самбы и гигабиты - "где-то там" и - весьма нишевая штука. А вот перфоманс HTTP аппсервера, допустим, волнует - хоть половину глобуса, которая его при случае - использовать набежит. То что этой вашей самбе и прочим порождениям энтерпрайза не дано.
> Примерно такое не последнее облако они на нём крутят.
Да это их внутренние проблемы, почему меня должно это колыхать? Судя по тому сколько ресурсов жрет билд винды и сколько это у них занимает - я не буду на них ориентироваться. Они явно не чемпионы в девелопе. Разве что в бессмысленной и беспощадной оверинженерии.
> Что там с твоими пердуинками? Скулайтом бьешь ненавистных корпорасов так что они
> в ужасе и бегут тебя просить поделиться инфоцыганщиной?Кроме скулайта у меня и key-value появились. Видите, я могу и без благодетелей с ESE обойтись. А заодно местами там RPS такой - что ваш жирный сервак с виндой позавидует этой мелкой фигне, пожалуй. А сколько там и чего у вас в самбе - мне не интересно: это нишевая внутренняя развлекуха корпоратов покусаных виндой.
ИМХО: научитесь нормально цитировать до того как умничать. Т.е. или ">" для инлайн, или если это код, bb тег {code} (скобки там конечно квадратные).
--Та я знаю тебя ничего не остановит от комментариев. Никакое отсутствие цитирования, хоть твоими любимыми сплошными портянками тебе напиши, хехе.
--
Да ставьте наздоровье, если оно вам оно надо. Я за вас это все делать не буду. Особенно в вон том формате и ради вон тех "достижений" и "улучшений".
--Ну понятно, понятно. Зелен виноград. Твердость не тупость.
--
Не, вот извините.
--Да, да, извиняем. Дальше не читал очередной бред из под кровати.
--
Ну вот кому оно надо - тому и карты в руки отношаться с тем шеллом таким способом.
__Конечно, это же не ты рассказывал что в вин у тебя баш есть, а в лин у тебя пс нет. И получить ты его никак не можешь.
--
Да, с неких пор мой уровень знаний в пингвинах и технологиях вокруг - сильно превысил таковой в винде.
--По научному это называется эффект низкой базы.
--
На ps шпрехает - полтора корпоративных извращенца. На bash навалом полезных мне так по жизни скриптов.
--Которые для твоего любимого локалхостика написаны. Верю, что же не верить.
--
MS много что написал. И - это не оттранслировалось ни в какие результаты для их экосистемы в целом. И в топе всех минимально интересных мне бенчей - вовсе не MS и их адепты.
--Ну это то понятно. Глазки закрыл - бабайки нет. Никуда не оттранслировалось.
--
А пока Windows Server обгонял Linux, LSE свалил на пингвин чертыхаясь что винда и нетчина не смогли в обещаные латенси - но смогли в дойку по 40M$ за релиз. Что хотите то и делайте, но testimonials виндов - вот такое вот.
--Это твоя вторая любимая байка после рассказов дотнетвсио сбигайте от коллег по клинингу?
--
Чел, ты не понял. Меня вообще интересуют скорее мелкие, легкие и эффективные решения. Я более всего успешен вообще - в одноплатниках и эмбедовке. Там от винды вообще ничего кроме боли пониже спины не бывает.
--Это ты тут доказываешь что лин везде лучше. А эти позорища тсп конгешн контрол не могут нормальных в ядро навтягивать. У мс давно есть, а эти рожу кривят. Вот и делают на отдельном сайте народ это под лин с научными работами.
--
И вот тут коронный номер: bash и там такой же как у меня на десктопе, 1 в 1 (как и весь дебиан, кстати). А ps в половину этого по ресурсам не влезет.
--Да, да. Это же всем нужен такой алле-оп. А некоторые вон nanoFramework на ембедовку тащат. Подишь ты, не верят твоим байкам.
--
Но если вы хотите порубаться - вон там TechEmpower есть. Когда выставите из топа вон тех, с io_uring, мы поговорим за перфоманс. А до тех пор ваши самбы и гигабиты - "где-то там" и - весьма нишевая штука. А вот перфоманс HTTP аппсервера, допустим, волнует - хоть половину глобуса, которая его при случае - использовать набежит. То что этой вашей самбе и прочим порождениям энтерпрайза не дано.
--Ты с памятью золотой рыбки? В прошлый раз с реддита приносили игде раньше это появилось, и почему мс один в один забрало иоуринг не смотря на то что у них было всё похожее. и что асинхронности в лин нет совсем по сравнению с ядром нт.
Ну и хнык,хнык я ваши задачи брать не решался, вот тебе мои джопы с перформансами, я умею печатать 1000 слов в минуту но получается какая-то бяка... Оно прямо радует. Продолжай рассказывать что лин может всё но на вопрос "а покажи" сливать с пердуинкой.--
Да это их внутренние проблемы, почему меня должно это колыхать? Судя по тому сколько ресурсов жрет билд винды и сколько это у них занимает - я не буду на них ориентироваться. Они явно не чемпионы в девелопе. Разве что в бессмысленной и беспощадной оверинженерии.
--То есть свои рассказы про проблемы есе ты снимаешь, правильно понял?
--
Кроме скулайта у меня и key-value появились. Видите, я могу и без благодетелей с ESE обойтись. А заодно местами там RPS такой - что ваш жирный сервак с виндой позавидует этой мелкой фигне, пожалуй. А сколько там и чего у вас в самбе - мне не интересно: это нишевая внутренняя развлекуха корпоратов покусаных виндой.
--Ну как обычно - фигуры разбросал, портянок наложил и улетел.
Мне нужно было кроссплатформенное решение, которое само анализирует, под чем запущено, разбрасывает файлы приложения по нескольким каталогам на целевой платформе (местоположение зависит от платформы), а также анализирует содержимое и прописывает кое-что в нужных местах нескольких файлов инициализации. Получилось - 1 пакетный файл с расширением cmd.
Не понял ровным счётом ничего.
Этот ваш nushell на Ржавом и с зоопарком лицензий. Пользуйтесь им сами.
> Этот ваш nushell на Ржавом и с зоопарком лицензий. Пользуйтесь им сами.Там только MIT.
Ну а насчет Ржавого, это да, это комментатор не подумал, а это ведь статья!
"Публичные действия, выражающие явное неуважение к обществу и совершенные в целях оскорбления религиозных чувств верующих"
> В новой версии Readline предложена опция "search-ignore-case" для поиска в истории без учёта регистра символов.На году две тысячи двадцать пятом до кодерков начало доходить, что регистрозависимость неудобна.
Читать умеешь? Добавлена, как необязательная опция. И это не означает, что регистронезависимость это хорошо.
> необязательная опция
> это не означает, что регистронезависимость это хорошоВижу, что ошибся. Не дошло. Ну, подождём ещё 55 лет.
если ничего слаще ср/м или какого-нито продос на спектруме не едал - то не только неудобна, но даже невообразима.
Ну так-то CP/M для людей делалась, в отличие от. Но вы, конечно, можете объяснить, где регистрозависимость удобна.
В си на pdp11. Потому что строки это массивы байтов, а раздуплять регистр не научились даже в 2025. Линус так и сказал: идеально сделать для всех языков мира не можем, поэтому вообще делать ничего не будем. Хотя казалось бы, такая простая задача — сделать good enough. Даже в Питоне справились.
> Линус так и сказал: идеально сделать для всех языков мира не можем, поэтому вообще делать ничего не будемТут надо заменить слово "идеально" на "правильно".
Правильно сделать невозможно. Значит будут исправления. Значит поведение будет зависеть от версии.
Кому это надо?
Ничего слаще лисп-машины симболикса я за 20+ лет в индустрии не видел. И не увижу уже, пожалуй.
Даже если дошло, всё равно реанимировать это болото бесполезно - ФС-то тоже регистрозависимая! :)) Одно тянет другое НА ДНО.
> Даже если дошло, всё равно реанимировать это болото бесполезно - ФС-то тоже регистрозависимая! :)) Одно тянет другое НА ДНО.Ограниченность в знаниях + публичные высказывания = Глупость выставленная на показ
Нате, виндузируйте:
mkfs -t ext4 -O casefold -E encoding_flags=strict /dev/vda
И да, давно можно
> И да, давно можноНО НЕ НУЖНО!
Неужели ещё остались упоротые которые во времена зрелого UTF не видят что регистрозависимость - просто неипическое преимущество и вообще - благо?!?!
>> В новой версии Readline предложена опция "search-ignore-case" для поиска в истории без учёта регистра символов.
> На году две тысячи двадцать пятом до кодерков начало доходить, что регистрозависимость
> неудобна.Тут проблема не в "удобно"\"не удобно" - до "кодерков"(ТМ) стало доходить, что реализовать её сколько-нибудь вменяемо в современных реалиях у них ну... вот... "неполучаицца".
Ты говоришь с челом который походу на КОИ-7 до сих пор :)
Его ещё только ждут увлекательные приключения, которые мы за лет 15(?) то уже прошли :)
Пожелаем Чебурашке удачи в дороге! :)
> Результаты выполнения команды отдаются как результат подстановки или записываются в переменную REPLY.Я не проверял на практике, но судя по документации, здесь ошибка. Переменная REPLY используется в направлении, противоположном указанному: если использовать символ |, то будет подставлено не значение, которое команда выведет в stdout, а значение, которое она присвоит в переменную REPLY.
А с функциями будет работать?Если да, то больше не будет затыков и проверить что вернула функция и вывод в переменную запихать.
Ещё бы вложенные массивы добавили и я доволен.
Вложенные хештейблы хотя бы.Функции можно дёрнуть так ${|read -r REPLY< <(funcname);} или так ${|read -r REPLY<<<$(funcname);}
Но это не сильно отличается от существующего. Если честно, не совсем понимаю, в чём были сложности раньше. То, что сабшел не видит не экспортированные переменные, иногда создавало определённые проблемы, но это тут не поможет. Какой-то узкоспецифический кейс работы с локальными переменными?
Я думаю, что кейс в том, что функция _модифицирует_ переменные.
С функциями затык в проверке что возвращает приходится проверять $?
Я обычно при написании скриптов предпочитаю ограничиваться /bin/dash, а когда его возможностей не хватает, пишу на питоне.
Переусложнять bash фичами такая себе затея, там ещё лет 10 ждать когда новые фичи станут повсеместно распространены.
Писать под линукс и выискивать башизмы - бред
Писать под якобы POSIX и надеяться, что ваша портянка якобы будет работать под BSD - еще больший бред
> Писать под якобы POSIX и надеяться, что ваша портянка якобы будет работать под BSD - еще больший бредВ связи с тем, что многие конструкции по-разному работают в Linux и BSD, тестирование обязательно.
Пиши не под якобы, а под нормальный POSIX и тестируй. Если не умеешь — не думай, что все такие же криворукие.
> Пиши не под якобы, а под нормальный POSIX и тестируй. Если не
> умеешь — не думай, что все такие же криворукие.Писать под posix sh вместо сабжа - удовольствие очень сильно ниже среднего и имеет смысл только в каких-то совсем эксклюзивных случаях. Ибо сильно якорит скорость написания скрипта.
Случай, когда нужно обеспечить переносимость, уже стал эксклюзивным? Ну ок.
А что там тебя тормозит, если не секрет?
> Случай, когда нужно обеспечить переносимость, уже стал эксклюзивным? Ну ок.
> А что там тебя тормозит, если не секрет?Просто сравните что умеет bash как именно расширения за пределами posix sh - и охренейте. Я конечно не предлагаю с пыла с жару key-value списками сразу хреначить - но железно уверен что в posix sh ничем таким даже близко не пахло.
А так - bash умеет /dev/tcp допустим. В sh что-то такое - ну и где? В лучшем случае что-то такое можно неткатом изобразить, но вот неткаты реально - разные бывают, и в целом будет сильно канительнее. Но там еще дофига всего, типа сравнения переменных и проч гораздо убогее.
> Писать под линукс и выискивать башизмы - бред
> Писать под якобы POSIX и надеяться, что ваша портянка якобы будет работать
> под BSD - еще больший бредЯ проще делаю - отлупляю им "поставьте баш". Если очень настаивают #!/bin/bash в начало скрипта вписываю, и хрен оспоришь.
Оно conforms to - "как мне удобно". Принцип прост: не нравится - не юзай. Если совсем не работает - и починилось - можно попробовать патчи прислать. Но welcome ли они - on case by case basis. Ибо мне вообще пофиг что с BSD случится и добавлять мне проблем - ну вот нет.
> Если очень настаивают #!/bin/bash в начало скрипта вписываюТо есть обычно у тебя шебинг #!/bin/sh, но ты используешь башизмы?
Чувак, очень тебя прошу. Сделай мир лучше. Уйди из айтишки, в мире куча профессий, которые тебе больше подойдут.
> То есть обычно у тебя шебинг #!/bin/sh, но ты используешь башизмы?В внутренних тулсах на 1 раз его и никакого может не быть. Иногда "this is intentional". Например чтобы потенциально опасный тул - случайно не запустился, и его надо явно как bash what.sh пулять тогда. Ибо на нем в этом случае и +x нету. Это такой небольшой safeguard для потенциально интрузивных тулс, которые иначе могут полсистемы переколбасить так, что потом откат на снапшот придется.
> Чувак, очень тебя прошу. Сделай мир лучше. Уйди из айтишки, в мире
> куча профессий, которые тебе больше подойдут.В моей книге мир будет лучше - без всякой (около)корпоративной шушеры с их целованием ботинок и двойными стандартами. Get the idea... да, теперь стандартом (как минимум де факто) будет Linux и Bash. А остальные будут - подстраиваться под нас. Пора сделать так чтобы удобно было - тем кто делает. А не тем кто много 3.1..т и без мыла лезет чужими руками жар грести.
>> То есть обычно у тебя шебинг #!/bin/sh, но ты используешь башизмы?За такое да, согласен - 25 лет расстрела!(С)
> В внутренних тулсах на 1 раз его и никакого может не быть.
И это в 100500 раз лучше чем в шебанге прописать sh для bash скрипта!
>> Чувак, очень тебя прошу. Сделай мир лучше. Уйди из айтишки, в мире куча профессий, которые тебе больше подойдут.
Грубо :) Но справедливо. Впрочем если про баш шебанг понял - оставайся! :)
> В моей книге мир будет лучше - без всякой (около)корпоративной шушеры с их целованием ботинок и двойными стандартами.
Будет целование ботинок вождю и идейному\духовному лидеру? Не - не интересно, лучше уж фильмы про трудовые будни простого немецкого сантехника (С) посмотреть ;-) В них будет смысла больше.
>> То есть обычно у тебя шебинг #!/bin/sh, но ты используешь башизмы?...
> стандартом (как минимум де факто) будет Linux и Bash. А остальные
> будут - подстраиваться под нас. Пора сделать так чтобы удобно былоМоре пафоса и трындежа, причем унылого ...
А стандарт у тебя, начиная с Bookworm, для /bin/sh - таки dash.
> Море пафоса и трындежа, причем унылого ...
> А стандарт у тебя, начиная с Bookworm, для /bin/sh - таки dash.Я даже не знаю - что им реально запускается, учитывая что сваталось это для стартовых скриптов ибо так быстрее. Но с тех пор пришел systemd и это стало не особо актуально. Может пару каких скриптов где совместимостью с ним парятся и осталось в каком-то закоулке. Это так, к вопросу о пафосе.
> Переусложнять bash фичами такая себе затея, там ещё лет 10 ждать когда
> новые фичи станут повсеместно распространены.Зато башскрипты через 10 лет - запускаются. Без переписывания. В отличие от питона, который через 3 года проще сразу rm *.py сделать.
Свойство экспортного продукта. Себе - вечный bash и прогресс. Конкуренты пусть каждые 3 года переписывают то же самое на чем-то модном.
>> Переусложнять bash фичами такая себе затея, там ещё лет 10 ждать когда
>> новые фичи станут повсеместно распространены.
> Зато башскрипты через 10 лет - запускаются. Без переписывания. В отличие от
> питона, который через 3 года проще сразу rm *.py сделать.Ну если там ничего кроме echo "Hello, world!" не было то таки да, никаких проблем. В жЫзни обычно выходит что-то вроде: "У вас на macacos баш старый! Ой, а тут оказывается sort не поGNU'тый! ОК, gogle - ачоймнесвашим бузибохом делать?! Ой, yum теперь симлинк на dnf, который "такой же, только другой"(ТМ), да? Бида..." - и вроде понятно, что "виновен - не жираф!", но осадочек остается...
Не ну всё правильно - macacos и должны страдать! :)PS: Лопата! Троллю я. А твк - да, есть такое дело, но вот жеж ты блин - оно и к примеру с питоном - тоже есть :)
> Не ну всё правильно - macacos и должны страдать! :)
> PS: Лопата! Троллю я. А твк - да, есть такое дело, но
> вот жеж ты блин - оно и к примеру с питоном
> - тоже есть :)Со змеюкой - хуже еще, причем почитай "кратно".
Будешь смеяться - меньше всего проблем у меня в краткий период работы с groovy было - ЕМНИП, ни разу ничего переписывать не пришлось - и вроде даже (Но тут и ошибиться могу - я в то время еще красноглазил) норот под виндой отлаживался. Впрочем, может просто работал мало и задачи специфические были - вот по граблям и не напрыгался, было бы там все так шоколадно - все бы поди пользовались.
Коллега экспериментировал с go для этой цели - но больно уж low-level'ьно и задач именно "кроссплатформенности", в общем, не решает.
> Коллега экспериментировал с go для этой цели - но больно уж low-level'ьноСмягчается правильными либами, но таки - да :)
Я тоже с Go в этом смысле игрался, скажи своему коллеге про: https://stackoverflow.com/questions/7707178/whats-the-approp...
... ну раз он его как скрипт-язык заюзать пытается... Да - странное(С), но вотЪ :)> и задач именно "кроссплатформенности", в общем, не решает.
Да узбагойтесь вы уже, этого даже Java не решает на 100%
А пути Win\Ux обрабатывать унифицированно - в го тоже есть модуль... но это жи меньше 1%
от того, на что наступиЦЦо :)
>> Коллега экспериментировал с go для этой цели - но больно уж low-level'ьно
> Смягчается правильными либами, но таки - да :)
> Я тоже с Go в этом смысле игрался, скажи своему коллеге про:
> https://stackoverflow.com/questions/7707178/whats-the-approp...
> ... ну раз он его как скрипт-язык заюзать пытается... Да - странное(С),
> но вотЪ :)Тут ужо даже M$ подоспел с выполнением C# без сборки проекта - ща покажутЪ "как надо"
>> и задач именно "кроссплатформенности", в общем, не решает.
> Да узбагойтесь вы уже, этого даже Java не решает на 100%
> А пути Win\Ux обрабатывать унифицированно - в го тоже есть модуль... но
> это жи меньше 1%
> от того, на что наступиЦЦо :)Да все уже поняли, что задача - проклятая, и решения вот не умеет - надо таскать все окружение с собой в контейнере - тогда есть шанс )
А ты не юзай башизмы, и пофиг на версию баша будет.
> Ну если там ничего кроме echo "Hello, world!" не было то таки
> да, никаких проблем. В жЫзни обычно выходит что-то вроде: "У вас
> на macacos баш старый!Это в целом какая-то экзотика. Конечно если с пылу с жару фич подхватить - вот прям из сабжа - можно будет покушать с лопаты. И не только в макоси. Но 90% скриптов на bash работают и через 10 лет. А 90% скриптов на питоне через 3 года - разваливаются и требуют починки.
> Ой, а тут оказывается sort не поGNU'тый!
Поставите GNU-тый, или пойдете нафиг, какие проблемы? Но вот код менять - не придется. А в питоне придется именно полскрипта переписать. Там даже гвидо сам себя завонял :)) и освободил кресло BFDL по сути. А если кто не гвидо - то задолбается намного раньше.
> ОК, gogle - ачоймнесвашим бузибохом делать?!
Это все же - малость экзотика. Если кто юзает бизибокс, 99% что это restricted env типа роутера мыльницы или initrd какого. И кстати там вообще не будет ни python ни powershell, если уж сравнить честно.
> Ой, yum теперь симлинк на dnf, который "такой же, только другой"(ТМ), да?
А что, питон или пс от этого как-то помогают? :)
>? Бида..." - и вроде
> понятно, что "виновен - не жираф!", но осадочек остается...Просто если сравнить - на той же задаче - с теми же условиями - с теми грабли останутся, но еще будет +9000 новых фирменных грабель. В питоне что-то задепрекатят как обычно, пс вообще в репах не окажется - и что хотите то и делайте.
>> Ну если там ничего кроме echo "Hello, world!" не было то таки
>> да, никаких проблем. В жЫзни обычно выходит что-то вроде: "У вас
>> на macacos баш старый!
> Это в целом какая-то экзотика. Конечно если с пылу с жару фич
> подхватить - вот прям из сабжа - можно будет покушать с
> лопаты. И не только в макоси. Но 90% скриптов на bash
> работают и через 10 лет. А 90% скриптов на питоне через
> 3 года - разваливаются и требуют починки.Да не - просто у этих вот bash прям ну ваааще замшелый, 3ий, что ли еще...
>> Ой, а тут оказывается sort не поGNU'тый!
> Поставите GNU-тый, или пойдете нафиг, какие проблемы? Но вот код менять -
> не придется. А в питоне придется именно полскрипта переписать. Там даже
> гвидо сам себя завонял :)) и освободил кресло BFDL по сути.
> А если кто не гвидо - то задолбается намного раньше.А! Ну так поставьте python единственно правильной версии вместе с набором единственно правильных библиотек - и тоже ничего менять не надо - ну или идите вон - следом.
>> ОК, gogle - ачоймнесвашим бузибохом делать?!
> Это все же - малость экзотика. Если кто юзает бизибокс, 99% что
> это restricted env типа роутера мыльницы или initrd какого. И кстати
> там вообще не будет ни python ни powershell, если уж сравнить
> честно.Ну да, ну да - про alpine-то аноним и не слышал, зачем бы ему?
>> Ой, yum теперь симлинк на dnf, который "такой же, только другой"(ТМ), да?
> А что, питон или пс от этого как-то помогают? :)Эээээ... Ну в общем скорее "да" - они с ним через API общаются, а не текстовый выхлоп парсят.
>>? Бида..." - и вроде
>> понятно, что "виновен - не жираф!", но осадочек остается...
> Просто если сравнить - на той же задаче - с теми же
> условиями - с теми грабли останутся, но еще будет +9000 новых
> фирменных грабель. В питоне что-то задепрекатят как обычно, пс вообще в
> репах не окажется - и что хотите то и делайте.Ну в общем "да" - с "серебрянными пулями" в индустрии как-то "не складывается" - именно по этому махать радужным флагом с криками "все работаит! савместима!!!111" и не стоит.
> Да не - просто у этих вот bash прям ну ваааще замшелый,
> 3ий, что ли еще...Ну я как бы инновациями в общем случае - тоже не злоупотребляю. Какое-нибудь ключ-значение прекрасно конечно - но в вот именно обвязке-координаторе других программ оно.. как бы это, я вот именно bash'ем не собираюсь - bulk processing делать.
> А! Ну так поставьте python единственно правильной версии вместе с набором единственно
> правильных библиотек - и тоже ничего менять не надо - ну или идите вон - следом.Кому очень сильно припирает - так и делают, но затраты на майнтенанс этого террариума значительно круче. Ибо надо отслеживать как развивался во какой рантайм, со всеми деталями, т.к. откосплеить этакого Гвидо.
А если вы гвидо не косплеили - ну вот скрипт падает с трейсом о 3 страницы. Много это вам сказало какую версию питона и либ ставить и какая там матрица совместимости? Блин это даже автор скрипта не факт что скажет.
> Ну да, ну да - про alpine-то аноним и не слышал, зачем бы ему?
А зачем про эту набивку для контенйеров слышать? Я ей не пользуюсь. Ибо убогая пакость. И по перфомансу с своим musl дурным, и по числу пакетов, и по общему юзабилити - которого нет. А в чем прикол можно будет осознать если этого уродца траблшутить, профайлить или что там еще придется поплотнее.
> Эээээ... Ну в общем скорее "да" - они с ним через API
> общаются, а не текстовый выхлоп парсят.И какая там у вас апя в пс для установки редахцкого пакета, раз уж вы так настаиваете? Мне уже интересно, право.
> Ну в общем "да" - с "серебрянными пулями" в индустрии как-то "не
> складывается" - именно по этому махать радужным флагом с криками "все
> работаит! савместима!!!111" и не стоит.Ну так я и не доказывал что сабж серебряная пуля. Писать на нем большой сложный процессинг - именно внутри скрипта - будет архитупейшим занятием например. И прочие вызовы апей - тоже. Хотя мне какие-то извращенцы и подсказали что оказывается - вот именно в баше - даже так можно было! Но для меня это - высокоуровневый координатор программ и потоков данных, а не дергалка апей и bulk processing.
> Например, можно выбрать сортировку по имени (GLOBSORT=name), размеру (GLOBSORT=size) или времени изменения (GLOBSORT=mtime), а также определить прямой (от меньшего к большему) или обратный (от большего к меньшему) порядок сортировки (например, при "GLOBSORT=-size" вначале будут показаны самые большие файлы).Но сортировку по-человечески они так и не осилили. Чтобы 2.txt шёл бы после 1.txt но до 10.txt.
01,02,..,10
Вы так и не осилили натуральную сортировку в sort ? sort -V
Наберут по объявлению...
Натуральная сортировка есть в ls, если очень надо. Только не помню, чтобы мне было не всё равно на порядок файлов.
Если все файлы на компьютере наизусть помнишь, то может и действительно всё равно. Но зачем тогда тебе файловая система? А если надо что-то найти быстренько глазами — приходится сортировать.
Искать глазами работает только когда все файлы на компьютере наизусть помнишь, я наблюдаю тут некоторое противоречие. Чем поможет натуральная сортировка в баше тоже не понятно -- для представления списка файлов пользователю обычно используется ls.
> для представления списка файлов пользователю обычно используется ls.Для тех, кто не пользуется терминалом я могу раскрыть секрет. ls обычно не используется. Он используется только тогда, когда автодополнения недостаточно по каким-то причинам. Может быть потому что хочется не просто список файлов/директорий, а с красивыми цветами, чтобы типы были бы видны, чтобы отличать директорию от симлинка, например. Может ещё по какой причине, но это бывает редко.
Как автодополнение связано с удобочитаемым представлением пользователю? Формат может быть совершенно любым. Ну и каким боком натуральная сортировка к автодополнению тоже не ясно, я могу понять ещё, если хочется сделать обработку файлов в порядке, в котором их видит пользователь в ФМ.
> ls обычно не используетсяРегулярно используется, да хотя бы из-за этого: ls -ltrh
Чем ты мне по времени отсортируешь так же удобно? А по размеру? А с исключением бэкапных файлов? А там и другие фильтры полезные вообще-то есть…
> ls обычно не используетсяв твоем пузыре любителей цветного вывода - может и так, но за всей отучайся говорить
Когда файлы наизусть знаешь ничего искать не надо, можно по памяти вбивать, в худшем случае постучать по табу, что-нибудь да вывалится. Вот когда не знаешь, но примерно представляешь как должно выглядеть — сортировка в режиме для человека просто необходима.
Когда уже буфер обмена починят? ctrl+c и ctrl+v не работает!
> Когда уже буфер обмена починят? ctrl+c и ctrl+v не работает!Сабж вообще буфером обмена не занимается. Сюрприз.
Никого не волнует, чем занимается баш. Если юзер хочет скопировать строку, он ДОЛЖЕН иметь возможность без бубнов это сделать. Но т.к. линукс - это путь боли и мучений, то вот да - вылезают такие как ты "сабжу ваш буфер пофиг". Ну тогда нафик нужен весь этот линукс?? А ведь эуропа собирается на него переходить :))) Юзерам тоже будешь КАЖДОМУ объяснять, где буфер обмена и почему ничего не работает?
Ну вы бы ещё Линусу Торвальдсу претензию предъявили, почему буфер обмена не встроен в ядро.
Ставите десктопный дистр с GNOME или KDE и там ваш юзер БУДЕТ иметь возможность воспользоваться буфером обмена без бубнов. Эуроюзерам в евромуниципалитетах евроадмины объяснят что и где там находится.
Что за истерика? Bash — всего лишь командный интерпретатор. В интерактивном режиме он работает в эмуляторе терминала, который и берёт на себя задачи копипасты.
Ой да это же элементарно лечится! Смотри - набери в терминале vi и нажми энтер!...
......
Этого ононима мы тут ещё пару недель не увидим, будет занят - будет искать выход :)))
> Никого не волнует, чем занимается баш. Если юзер хочет скопировать строку, он
> ДОЛЖЕН иметь возможность без бубнов это сделать.И все б ничего - кроме того что ctrl+c как шорткат для вырубания программ ("interrupt") существовал в консолях намного раньще (в том числе и у M$!) чем им же приперла очередная "гениальная" идея назначить копипасту на конфликтующий шорткат.
А терминалки и консоли, видите ли, не могут забить на совместимость с существующим софтом и кейсами. У майкрософтв в его виндус терминале у самого поди ctrl+c и по сей день программу вырубает, не? Во всяком случае - в Win 2008 R2 (последняя винда с которой я плотно имел дело) - было все еще вот так. И если это поменять то следующий логичный вопрос "а что вырубает консольную программу?" и это тоже - нарушает ожидания пользователей. При том эти пользователи - было еще ДО тех.
> Но т.к. линукс - это путь боли и мучений,
Почему-то в DOS и Win терминал вел себя сравнимо. С той поправкой что копипаст там был сделан еще в 5 раз мучительнее. И чукотское выделение текста, и отсутствие шорткатов по дефолту. Все для вашей продуктивности... в районе плинтуса.
Вроде в более новых виндах сделали чуть получше, и даже уникод по дефолту заработал (вау, не прошло и 20 лет ожидания!) - но я уже не следил. Ибо дефолтовая простенькая терминалка XFCE или LxQt - жесточайше делает по юзабилити все майкрософтовские потуги оптом в в розницу.
> как ты "сабжу ваш буфер пофиг". Ну тогда нафик нужен весь
> этот линукс?? А ведь эуропа собирается на него переходить :)))Это их проблемы. Значит наймут чуваков для интеграции и обучения.
> Юзерам тоже будешь КАЖДОМУ объяснять, где буфер обмена и почему ничего не работает?
Я не техсаппорт, внезапно. Да и не очень понятно зачем каждому юзеру - в консоль лазить. Обычным офисным "операторам БД" - компы нарулят - админы вообще. Что с виндой, что с линем, разницы - ноль.
> ctrl+c ... не работает!Не прерывает текущую команду?
Ctrl-Ins и Shift-Ins, по-моему, удобнее. И в терминале прекрасно работают.
Если есть клавиша Insert
ССЗБ
> Ctrl-Ins и Shift-Ins, по-моему, удобнее.На ноутах удобсвто сильно так себе.
Но вообще, терминалы обычно настраиваются в этом плане, так что никто не мешает сделать Ctrl-Shift-(C/V)
Ctrl-Shift-C и Ctrl-Shift-V.
upd: сам баш ващет запускается в терминале, поэтому вопросы надо задавать о терминале.
У вас жи терминал в граф сессии запущен? - А там и мышой можно (и обычно - даже настроено)
> позволяющие перехватить вывод команды <…> без использования неименованных каналовБоюсь спросить, что же тогда для этого используется.
> Реализованы новые формы подстановки команДа, нужно больше подстановок, а то текущий cheatsheet маловат.