URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 118309
[ Назад ]

Исходное сообщение
"Представлена новая командная оболочка nushell"

Отправлено opennews , 29-Авг-19 11:30 
Опубликован (http://www.jonathanturner.org/2019/08/introducing-nushell.html) первый выпуск командной оболочки nushell (https://www.nushell.sh/), сочетающей возможности Power Shell и классических unix shell. Код написан на языке Rust и распространяется (https://github.com/nushell/nushell) под лицензией MIT. Проект изначально развивается как кросс-платформенный и поддерживает работу в Windows, macOS и Linux. Для расширения функциональности могут использоваться плагины (https://github.com/nushell/nushell/tree/master/src/plugins), взаимодействие с которыми осуществляется по протоколу JSON-RPC.

В оболочке применяется привычная для пользователей Unix система конвейеров в формате "команда|фильтры|обработчик вывода". По умолчанию вывода оформления при помощи команды autoview, использующей табличный формат, но возможно и применения команд для отображения бинарных данных и информации в древовидном представлении. Сильной стороной nushell является возможность манипуляции структурированными данными.


Оболочка позволяет структурировать вывод различных команд и содержимое файлов, и применять  произвольные фильтры, которые оформляются с использованием унифицированного синтаксиса, не требующего изучения опций командной строки каждой конкретной команды.  Например, nushell позволяет использовать такие конструкции, как "ls | where size > 10kb" и "ps | where cpu > 10", которые приведут к выводу только файлов размером больше 10Kb и процессов, которые потратили больше 10 секунд ресурсов CPU:

Для структурирования данных применяется ряд надстроек, которые разбирают вывод конкретных команд и типов файлов. Подобные надстройки предложены для команд cd, ls, ps, cp, mkdir, mv, date, rm (для вызова родных команд может применяться префикс "^", например вызов "^ls" приведёт к запуску системной утилиты ls). Имеются и специализированные команды, такие как open  для отображения информации о выбранном файле в табличном виде. Для форматов JSON, TOML и YAML поддерживается автоматический разбор.

Предоставляется большой набор инструкций для фильтрации структурированных  данных, позволяющих отсеивать строки, сортировать по столбцам, суммировать данные, производить простые вычисления, использовать счётчики значений, выполнять преобразование вывода в форматы  CSV, JSON, TOML и YAML. Для неструктурированных данных (текста) предлагаются инструкции для разбивки на столбцы и строки на основе символов-разделителей.

URL: http://www.jonathanturner.org/2019/08/introducing-nushell.html
Новость: https://www.opennet.ru/opennews/art.shtml?num=51375


Содержание

Сообщения в этом обсуждении
"Представлена новая командная оболочка nushell"
Отправлено Аноним , 29-Авг-19 11:30 
шота я не понял - зачем они написали павершел на хрусте, когда уже есть нормальный?

"Представлена новая командная оболочка nushell"
Отправлено Аноним , 29-Авг-19 11:34 
заорал, сисярп который запускается пять лет это по твоему нормальный?

"Представлена новая командная оболочка nushell"
Отправлено пох. , 29-Авг-19 11:44 
пихон у тебя что - быстрее, что-ли? Да ну, не звезди.

И ты уверен, что вот ета вот, на хрусте, будет быстрее? не, ну пока к нему модулей нет, из-за которых основные тормоза, наверное, будет...


"Представлена новая командная оболочка nushell"
Отправлено EnemyOfDemocracy , 29-Авг-19 16:27 
У вас что, Интел-тормозинтел-решетинтел чтоль?

"Представлена новая командная оболочка nushell"
Отправлено пох. , 29-Авг-19 17:38 
У вас-то на православном ель-брусе пихтон прям летает?


"Представлена новая командная оболочка nushell"
Отправлено Anonymoustus , 29-Авг-19 18:25 
> У вас-то на православном ель-брусе пихтон прям летает?

Разве уже окропили системные платы святой водой? Когда окропят, тогда и благодать снизойдёт.


"Представлена новая командная оболочка nushell"
Отправлено bircoph , 29-Авг-19 21:33 
На Эльбрусе питон вполне сносно работает.

"Представлена новая командная оболочка nushell"
Отправлено D , 31-Авг-19 16:14 
На этом список заканчивается.

"Представлена новая командная оболочка nushell"
Отправлено Андрей , 07-Сен-19 18:32 
А представь-ка свой список, чтого должно работать?
И что ты подразумеваешь под "только питоном"? В этом и плюс скриптовых языков - от платформы не зависят, при наличии среды работают где угодно. Тажёлая математика давно в numpy вынесена.
А про Си ты, наверное, не слышал?

"Представлена новая командная оболочка nushell"
Отправлено macfaq , 29-Авг-19 19:27 
> пихон у тебя что - быстрее, что-ли? Да ну, не звезди.

Причём тут "пихон"?


"Представлена новая командная оболочка nushell"
Отправлено proninyaroslav , 29-Авг-19 11:45 
Тогда зачем писать шеллы если уже есть bash?

"Представлена новая командная оболочка nushell"
Отправлено Аноним , 29-Авг-19 11:50 
Школота не знает что написать на расте и пишет то что уже написано.

"Представлена новая командная оболочка nushell"
Отправлено НяшМяш , 29-Авг-19 13:38 
Эх, если бы вся школота так обучалась...

"Представлена новая командная оболочка nushell"
Отправлено freehck , 29-Авг-19 13:56 
> Школота не знает что написать на расте и пишет то что уже написано.

Окей, подкину школоте идейку:

Программа для обучения детей геометрии. Сверху 3D-изображение, которое можно вращать. Снизу -- командная строка, где можно вводить команды вида

<pre>
A = точка(0,0,0)
B = точка(1,0,0)
С = точка(0,1,0)
D = точка(1,1,1)
alpha = плоскость(A,B,C)
l = перпендикуляр(alpha,D)
X = пересечение(l,alpha)
</pre>

Синтаксис не принципиален.
Плюс снабдить это дело прувером, чтобы иметь возможность проверить решение.

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

А если бы была такая программа, задача существенно упростилась бы. Они бы всё увидели, повращали, выбрали бы удобный ракурс...


"Представлена новая командная оболочка nushell"
Отправлено Аноним , 29-Авг-19 14:37 
OpenSCAD примерно так и работает, хотя там нет линий, только полигоны и тела.

"Представлена новая командная оболочка nushell"
Отправлено None , 29-Авг-19 17:06 
Там крутить муторно, хотя может я не знаю чего-то...

rotate([90,0,0]) {
translate([0,0,-5]){
rotate([0,0,135]) {
    cube(10,10,10);
};
}
};

translate([0,0,-5]){
rotate([0,0,135]) {
    cube(10,10,10);
};
}


"Представлена новая командная оболочка nushell"
Отправлено AAA , 29-Авг-19 14:46 
>... Они бы всё увидели, повращали, выбрали бы удобный ракурс...

Вы слишком хорошего мнения о детях. Пришлось пообщаться с детьми с 5 лет до 9-го класса (летний лагерь) - 90% ничего не надо, кроме сматфона. Их не лук соструганный самолично, ни компас из иголки, ни астрономия (оптический и радиотелескоп) не интересует. Мир вне смартфона ограничен пожрать да поспать :(


"Представлена новая командная оболочка nushell"
Отправлено Ordu , 29-Авг-19 16:17 
> Их не лук соструганный самолично, ни компас из иголки, ни астрономия (оптический и радиотелескоп) не интересует.

Я работал с детьми в лагере, в формате психологической стажировки. В том числе и в возрасте 5-9 лет. Смен пять отработал. Со смартфонами были лишь минорные проблемы, типа на пятьдесят человек (в диапазоне 5-16) парочка постоянно пытается заныкаться куда-нибудь, и залипать в смартфон. Эти проблемы решаются индивидуально, там есть разные способы, но они сводятся к заключению сделки, типа "я не конфисковываю твой смартфон, но взамен ты ограничиваешь себя в его использовании, согласно правилам у нас есть два часа перед отбоем под смартфоны, но тебе я, так уж и быть, дам ещё час после обеда". Или ещё час после отбоя, если это подросток 14+. Это взаимовыгодный обмен который именно так и надо позиционировать: ты ему даёшь послабление правил, он за это выполняет их. Дети с радостью идут на это, потому что получить послабление правил -- это круто. Нарушение договорённости -- это очередной неприятный для ребёнка разговор, с угрозами конфискации смартфона. Или даже конфискация, после которой тебе придётся разговаривать со звонящими ребёнку родителями, при необходимости находя ребёнка и передавая трубку ему.

Если у вас в лагере были проблемы со смартфонами, то это значит, что либо у вас там не было ни одного достаточно квалифицированного специалиста по работе с детьми с соответствующим образованием и опытом, либо у вас была какая-то очень специальная выборка детей. Настолько специальная, что квалифицированные специалисты не смогли достаточно быстро (то есть буквально в первый день смены) сориентироваться, подобрать подходящие методы воздействия и за первую ночь переписать почасовой план мероприятий на смену и правила так, чтобы справиться с этой группой детей.

Если детям был неинтересен лук или астрономия, то я предполагаю это произошло потому, что вы предлагали им эти вещи в отрыве от игровой активности. С 12+ детьми это может иногда прокатить, но с детьми 5-9 это не сработает точно. Нужна игровая активность. Чё им этот телескоп, в который можно смотреть только отстояв очередь из других желающих? И чё там? Чернота усеянная туманом точек? Ну посмотрел, теперь всё? Можно я теперь в смартфон позалипаю? 5-9 лет -- это игра, игра и ещё раз игра. Причём как минимум каждая третья должна быть подвижной. И надо быть готовым к тому, что каждые 20 минут придётся менять активность, потому что старая уже надоела. Дети 5-9 лет ещё не научились сидеть неподвижно за партой 45 минут.

Если бы мне приспичило показать детям телескоп, то я бы сделал что-нибудь в стиле 15 минут рассказа об устройстве Солнечной Системы (с картинками), а потом 10-20 минут на то, чтобы каждый мог бы нарисовать эту Солнечную Систему. А, да, в промежутке между рассказами, можно было бы поиграть в Солнечную Систему, назначив роли планет, комет, астероидов, разыграв роль Солнца, и как-нибудь включив в игру подвижные элементы, типа побегать, попрыгать, поприседать, поотжиматься^W. Можно разбить их на пары, и предложить рисовать парами. А потом устроить представление рисунков, чтобы пара выходила бы перед всеми, рассказывала бы о рисунке, а остальные сидели бы в аудитории как настоящие учёные на конференции, и задавали бы вопросы. И я бы там сидел в аудитории, и задавал бы вопросы, следя за тем, чтобы каждому досталось бы хотя бы по два вопроса из аудитории и комплимент рисунку лично от меня. Вот после этого, я бы упомянул, что у нас может быть будет возможность посмотреть в настоящий телескоп, но это если местный астроном сможет выделить нам полчаса, если старшие дети не займут всё его время, и если руководитель смены разрешит нашей младшей группе задержаться после отбоя. После такого дети мне сами на голову сядут, чтобы я всё организовал. Пойдут со мной делегацией к руководителю смены и к астроному (которому обязательно нужно сделать коническую шапку со звёздами и халат ещё найти "астрономический"). Если же руководитель смены поставит условие типа "вы все съедите всё за обедом и ужином, и тогда я разрешу", то тогда детей уже будет не остановить, они силой заставят астронома пустить их поглазеть в телескоп.


"Представлена новая командная оболочка nushell"
Отправлено Анонимус_ , 29-Авг-19 17:53 
> Если бы мне приспичило показать детям телескоп, то я бы сделал что-нибудь в стиле 15 минут рассказа об устройстве Солнечной Системы (с картинками), а потом 10-20 минут на то, чтобы каждый мог бы нарисовать эту Солнечную Систему. А, да, в промежутке между рассказами, можно было бы поиграть в Солнечную Систему, назначив роли планет, комет, астероидов, разыграв роль Солнца, и как-нибудь включив в игру подвижные элементы, типа побегать, попрыгать, поприседать, поотжиматься^W

И нафейоа?

Все эта хрень только отпугивает нормальных ботаников, которым это действительно интересно. А среднестатистическому нормальному человеку на этот телескоп все равно по барабану будет. С таким же успехом вы его можете исключить из программы.


"Представлена новая командная оболочка nushell"
Отправлено Аноним , 29-Авг-19 19:53 
А потому что дети исключительно редко начинают вдруг в один день по щелчку пальца интересоваться астрономией или физикой. И если, условно говоря, начать зачитывать им наименования всех космических объектов в солнечной системе в алфавитном порядке из справочника с указанием их классификации - тоже. Интерес к науке тоже нужно воспитать. А иначе так и будут думать что солнце вокруг земли вращается, и собирать клубнику с грядки вконтакте.

"Представлена новая командная оболочка nushell"
Отправлено zzz , 29-Авг-19 21:15 
Натаскивают ботаников - орете, что всё остальные тупые. Натаскивают всех - орете, что ботаников отпугивают. Вам фиг проссышь, что вы хотите. Если вообще что-то хотите, кроме нытья про то, как всё не так и не эдак, как замшелый пох, который в каждой бочке затычка со своим нытьем о том, как ему всё не нравится.

"Представлена новая командная оболочка nushell"
Отправлено Ordu , 29-Авг-19 21:15 
>> Если бы мне приспичило показать детям телескоп, то я бы сделал что-нибудь в стиле 15 минут рассказа об устройстве Солнечной Системы (с картинками), а потом 10-20 минут на то, чтобы каждый мог бы нарисовать эту Солнечную Систему. А, да, в промежутке между рассказами, можно было бы поиграть в Солнечную Систему, назначив роли планет, комет, астероидов, разыграв роль Солнца, и как-нибудь включив в игру подвижные элементы, типа побегать, попрыгать, поприседать, поотжиматься^W
> И нафейоа?
> Все эта хрень только отпугивает нормальных ботаников, которым это действительно интересно.

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

В 5-9 лет нет "нормальных ботаников", ботанство может проявляться в подростковом возрасте, но эта классификация совершенно неприменима к детям до пубертата. У них просто структура мотивации иная.


"Представлена новая командная оболочка nushell"
Отправлено анним , 30-Авг-19 19:46 
А те, кто в запасе, исполняет роль комет B)

"Представлена новая командная оболочка nushell"
Отправлено Ordu , 29-Авг-19 14:54 
> Проблема в обучении детей геометрии в основном ведь связана с плохим пространственным воображением.

Совершенно верно. Но пространственное воображение строится через моторную деятельность, причём 2d воображение -- это часть 3d воображения, в том смысле, что психика сначала учится работать с 3d, и лишь затем с 2d как с частным случаем. В чём собственно проблема школьной геометрии, которая пытается решать задачу задом наперёд. И это кончается именно тем, чем кончается: большинство не втыкает в планиметрию, но когда дело доходит до стереометрии лишь единицы могут с этим справиться. И могут они не благодаря тому, что школа им помогла, а благодаря тому, что они с рождения и лет до десяти как минимум, находились в достаточно богатой развивающей среде, созданной их родителями.

Поэтому, если хочется развивать пространственное воображение, нужны учебные пособия которые можно взять в руки и покрутить руками. Глядя на них, пытаясь решить какую-нибудь задачку. Например, вот у нас пять сложных объектов, какие два из них одинаковы (такие задачки любят включать в тесты на iq, но там вместо объектов изображения объектов с разных ракурсов). Или вот у нас есть кубик-рубик, давай научимся его складывать (следуя самому тупому алгоритму, чтобы не отвлекаться на эти детали). Или складывание фигурок из бумаги. Тут можно напридумывать массу других вещей, а можно не придумывать, а просто пошариться по магазинам развивающих игрушек для детей. Всё что угодно на мелкую моторику, манипуляции. Очень хорошо если при этом надо в уме держать невидимые части предмета (заднюю сторону кубика-рубика), ещё лучше, если надо мысленно манипулировать воображаемым образом невидимой части. Но при этом, особенно поначалу, все эти предметы должны позволять легко компенсировать провалы в памяти и нехватку воображения глазами (кубик-рубика можно повернуть и посмотреть, как выглядит задняя грань). Можно дополнить это уроками труда -- тут всё что угодно пойдёт, вырезание совка из жести или кройка и шитьё -- без разницы. Некоторые виды спорта, я думаю, могут помочь -- они конечно больше заточены на грубую моторику, но и тем не менее они требуют способностей к пространственному воображению, с тем чтобы предсказывать движение мяча или соперников, учитывая направление, скорость, время и прочие факторы.

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

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

Твоё предложение ужасно тем, что ты предлагаешь использовать 3d координаты человеку, у которого проблемы с пространственным воображением. Координаты -- это символьное мышление, все эти слова типа "плокость", "перпендикуляр" -- это тоже символьное мышление. Твоя идея вся заточена на увязывание символьного мышления и пространственного. Это очень важно для освоения геометрии, но если пространственного мышления нет или оно недоразвито, то увязывать будет нечего. И всё что испытает школьник от работы с твоей программой -- беспомощность и неспособность справиться с поставленной задачей. Если ребёнок умненький, может быть он научится компенсировать символьным мышлением нехватку пространственного, и из этого может быть и выйдет что-нибудь хорошее, может даже гениальное. Но если он среднестатистический и без пространственного воображения, то всё к чему он придёт -- к твёрдому убеждению, что геометрия не для него, что геометрия ему не нужна и никогда не понадобиться в жизни, и что министерство образования намеренно включает геометрию в школьную программу, чтобы сделать его жизнь невыносимой.


"Представлена новая командная оболочка nushell"
Отправлено myhand , 29-Авг-19 15:12 
>> Проблема в обучении детей геометрии в основном ведь связана с плохим пространственным воображением.
> Совершенно верно. Но пространственное воображение строится через моторную деятельность,
> причём 2d воображение -- это часть 3d воображения, в том смысле,
> что психика сначала учится работать с 3d, и лишь затем с
> 2d как с частным случаем. В чём собственно проблема школьной геометрии,
> которая пытается решать задачу задом наперёд.

Какой дурак вам сказал, что школьная геометрия нужна для развития "пространственного
воображения"?  Она нужна для нормального знакомства с математикой: что такое
аксиоматика, с чем едят доказательства и т.п.


"Представлена новая командная оболочка nushell"
Отправлено Anonymoustus , 29-Авг-19 16:51 
Этот аноним, похоже, тот самый шизик, что постил на Хабре статьи о том, как его не хотели лечить врачи-убийцы из карательной психиатрии и поэтому он решил обучиться психологии и вылечить себя сам. Запущенный случай. Я эту его графоманию проматываю, не глядя.

"Представлена новая командная оболочка nushell"
Отправлено Ололо , 30-Авг-19 07:44 
Ссылку дашь? Поржать.

"Представлена новая командная оболочка nushell"
Отправлено Anonymoustus , 30-Авг-19 11:33 
> Ссылку дашь? Поржать.

Может и не он, но графомания весьма похожа:

https://habr.com/ru/post/464011/

https://habr.com/ru/users/hdablin/


"Представлена новая командная оболочка nushell"
Отправлено анним , 30-Авг-19 20:50 
Если тот психолог лучше, чем программист, то точно не он.

"Представлена новая командная оболочка nushell"
Отправлено Anonymoustus , 30-Авг-19 21:10 
> Если тот психолог лучше, чем программист, то точно не он.

Не уверен, что можно напрямую сравнивать квалификацию психолога и программиста.

Что касается программистской квалификации, то, из замеченного мной, он не осилил разобраться в Lua (В Lua, Карл!) Здешний так и не понял, что такое Юникс, несмотря на чтение книг (#142), и не в состоянии увидеть прямую причинно-следственную связь и преемственность между Мультиксом и Юниксом. Впрочем, это свойственно многим опоздавшим родиться. Хотя непонимание, что из двух связанных причинно-следственной связью вещей первично, а что вторично — это таки звоночек. Что касается графомании, то она здесь налицо, причём в формате «словесного недержания». Иногда он даже пишет что-то здравое.


"Представлена новая командная оболочка nushell"
Отправлено zzz , 29-Авг-19 21:32 
А потом эти же люди визжат, что дети стали тупые, потому что карлик, егэ и олигархи. Как я уже говорил выше - вас фиг проссышь, чего вы хотите - то ли понимания геометрии, то ли удовлетворения своего галактических размеров ЧСВ в рамках дискуссии в формате "Слыш, ты, идиот, ....!"

"Представлена новая командная оболочка nushell"
Отправлено Аноним , 30-Авг-19 09:30 
Бывают люди (и когда-то дети) сложно принимающие математику и инженерно-физические штуки.

Это, ну, как ... - вот им так дано и всё.


"Представлена новая командная оболочка nushell"
Отправлено myhand , 31-Авг-19 08:36 
ЧСХ, можно совершенно оправданно "визжать".  Совершенно не понимая при этом настоящих причин ситуации, от которой хочется это делать...

"Представлена новая командная оболочка nushell"
Отправлено анним , 30-Авг-19 19:53 
И что с аксиоматикой потом делать? А с доказательствами? За них берут на работу?

"Представлена новая командная оболочка nushell"
Отправлено myhand , 31-Авг-19 08:37 
Берут.  Сразу после школы можете идти работать овощем в пятерочку.  Собственно, а какой работы вы для себя ожидали?

"Представлена новая командная оболочка nushell"
Отправлено myhand , 29-Авг-19 15:07 
Извиняюсь, а в где тут было "обучение геометрии"?

"Представлена новая командная оболочка nushell"
Отправлено Anonymoustus , 29-Авг-19 16:48 
Детям надо живые кубики из картона показывать и давать вертеть в руках, а не компьютерные картинки.

"Представлена новая командная оболочка nushell"
Отправлено Аноним , 29-Авг-19 17:36 
В geogebra этого нет?

"Представлена новая командная оболочка nushell"
Отправлено Sw00p aka Jerom , 29-Авг-19 21:46 
geogebra есть :)

"Представлена новая командная оболочка nushell"
Отправлено freehck , 30-Авг-19 09:24 
> geogebra есть :)

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


"Представлена новая командная оболочка nushell"
Отправлено Wilem , 29-Авг-19 12:19 
У повершелла чудовищный синтаксис.

"Представлена новая командная оболочка nushell"
Отправлено пох. , 29-Авг-19 13:39 
если ЭТО научится чему-то посложнее - у него такой тоже будет

"Представлена новая командная оболочка nushell"
Отправлено Anonymoustus , 29-Авг-19 16:52 
> У повершелла чудовищный синтаксис.

В нём есть сокращения. Но без знания чудовищного синтаксиса полных команд сокращений этих не понять.


"Представлена новая командная оболочка nushell"
Отправлено Аноним , 29-Авг-19 11:50 
Не нужно написанное на не нужном.

"Представлена новая командная оболочка nushell"
Отправлено Аноним , 29-Авг-19 12:01 
Хотел скачать, а там
>A modern shell for the GitHub era

"Представлена новая командная оболочка nushell"
Отправлено Аноним84701 , 29-Авг-19 14:30 
> Хотел скачать, а там
>>A modern shell for the GitHub era

Зато самое главное в проекте не забыли:
https://github.com/nushell/nushell/blob/master/CODE_OF_CONDU...



"Представлена новая командная оболочка nushell"
Отправлено Аноним , 29-Авг-19 15:27 
> our community a harassment-free experience

В общем, ни ты проект, ни проект тебя уже не затрахаете. Ляпота ж!


"Представлена новая командная оболочка nushell"
Отправлено Michael Shigorin , 30-Авг-19 22:02 
> "ls | where size > 10kb"

...а потом эта гитхабовая гопота внезапно откроет для себя перенаправление вывода "в баше"...

Эх.


"Представлена новая командная оболочка nushell"
Отправлено Аноним , 02-Сен-19 11:09 
У них есть для этих целей save|load. Не то же самое, но задачу решает.

"Представлена новая командная оболочка nushell"
Отправлено annual slayer , 27-Сен-19 01:07 
даже в фише одумались и вернули башевские штуки типа "&&" которые там принципиально отутствовали долгое время

"Представлена новая командная оболочка nushell"
Отправлено Аноним , 29-Авг-19 12:03 
>сочетающей возможности Power Shell

Пожалуйста, не надо!



"Представлена новая командная оболочка nushell"
Отправлено Аноним , 29-Авг-19 12:10 
> Например, nushell позволяет использовать такие конструкции, как "ls | where size > 10kb" и "ps | where cpu > 10"

bash-скрипты позволяют в 10 раз больше. Это для тех тупеньких админов, которые не осилили?


"Представлена новая командная оболочка nushell"
Отправлено anonymoussssss , 29-Авг-19 12:13 
Это для вендузятников, у них же нормального шелла не завезли.

"Представлена новая командная оболочка nushell"
Отправлено anonimbl , 29-Авг-19 12:22 
в винде есть нормальный bash.

"Представлена новая командная оболочка nushell"
Отправлено anonymoussssss , 29-Авг-19 12:31 
Через WSL2? Такое себе удовольствие виртуалку ради шелла запускать. Ещё и занимает 2 ГБ или около того.

"Представлена новая командная оболочка nushell"
Отправлено НяшМяш , 29-Авг-19 13:39 
Запускай через WSL1

"Представлена новая командная оболочка nushell"
Отправлено Аноним , 29-Авг-19 15:28 
Наличие на машине WSL запускает Hyper-V всегда, даже если ты не юзаешь WSL в конкретный момент. Т.е. старт машины и расход ресурсов у тебя всегда будет дороже и дольше, потому что ты вообще WSL установил.

Плати всегда, пользуйся когда захочешь!


"Представлена новая командная оболочка nushell"
Отправлено НяшМяш , 29-Авг-19 20:17 
Как же я люблю экспертов с опеннета. Вы хотя бы изучите предмет своего хейта. WSL1 не использует виртуализацию от слова вообще. Это прослойка, которая реализует ограниченный набор апи ядра, благодаря чему работает большинство вещей типа баша. Линукс процессы даже видны в диспетчере задач рядом с виндовыми.

Если бы был активен Hyper-V во время работы первого WSL, то я бы об этом сразу узнал, потому что перестал бы работать VMware - он сразу ругается на несовместимость.


"Представлена новая командная оболочка nushell"
Отправлено anonymoussssss , 29-Авг-19 20:34 
Наверное он спутал с WSL2. Как бы то ни было, на сколько мне известно поддерживается сейчас только WSL2.

"Представлена новая командная оболочка nushell"
Отправлено НяшМяш , 29-Авг-19 23:33 
Да вы издеваетесь что ли? WSL2 ещё даже в релиз не вышел, он доступен только для Windows Insiders ветки.

"Представлена новая командная оболочка nushell"
Отправлено xm , 31-Авг-19 00:49 
велкам в чудесный мир искпердов оупеннет

"Представлена новая командная оболочка nushell"
Отправлено rico , 01-Сен-19 21:00 
cygwin

"Представлена новая командная оболочка nushell"
Отправлено Аноним , 29-Авг-19 12:32 
Может и есть, но только зачем тут винда? :)

"Представлена новая командная оболочка nushell"
Отправлено Аноним , 29-Авг-19 21:34 
> в винде есть нормальный bash.

Сначала попробуйте хорошенько. Потом только оцените.

P.S. Работа с json/yaml - это очень Ок. Но, по ходу, у них ради этого надо заново написать весь Бизи Бокс с Ко' Утилс. ))))

Прикольная новость.


"Представлена новая командная оболочка nushell"
Отправлено _ , 30-Авг-19 04:45 
>P.S. Работа с json/yaml - это очень Ок.

Пффф ...

        jq is a tool for processing JSON inputs, applying the
        given filter to its JSON text inputs and producing the
        filter's results as JSON on standard output.

и не лохматьте мне ****
:-)


"Представлена новая командная оболочка nushell"
Отправлено Аноним , 30-Авг-19 09:33 
Ямла нет,и нет отдачи резулбтата в json vи т.п. Есть yq, но в поисковиках, в моём варике в Убу не завезди.


Это ведь АПИ. Стреляешь запросом из CLI и прилетает ответ в json/yaml/подобное.

Рай для автоматизации.


"Представлена новая командная оболочка nushell"
Отправлено Michael Shigorin , 30-Авг-19 22:03 
Понимаете, юниксовый шелл силён не сам по себе, а всем тем, что вокруг него существует.  Это, гругря, тюбик суперклея, а не пятиколёсный велосипед с тремя зонтиками (и всё квадратное).

"Представлена новая командная оболочка nushell"
Отправлено myhand , 03-Сен-19 16:30 
> Это, гругря, тюбик суперклея

А моя рука тянется почему-то к пист^Wсравнению с соплями...  Гругря, таки клей, да.


"Представлена новая командная оболочка nushell"
Отправлено Wilem , 29-Авг-19 12:32 
Это для умненьких разработчиков, понимающих силу и удобство единого набора операций над единым форматом данных. Ты, видимо, не понял про что шелл и чем он отличается от беша. Он на самом деле абсолютно не пригоден для работы в текущем виде, это фактически демо. Но концепция - уже реализованная и работающая - офигительная.

"Представлена новая командная оболочка nushell"
Отправлено Аноним , 29-Авг-19 12:37 
Проще надо быть, если хочешь, чтобы тебя понимали.
Разработчикам шелл скорее всего все-таки не нужен.

> Он на самом деле абсолютно не пригоден для работы в текущем виде

Какой работы?? Ты про какой-то реалтайм или про чо вообще?


"Представлена новая командная оболочка nushell"
Отправлено Ordu , 29-Авг-19 14:15 
> Разработчикам шелл скорее всего все-таки не нужен.

Сидящим в VSCode может и не нужен, а если ты работаешь с файлами через emacs/vim/bash, то без шелла там никуда.

> Какой работы?? Ты про какой-то реалтайм или про чо вообще?

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


"Представлена новая командная оболочка nushell"
Отправлено Wilem , 29-Авг-19 22:45 
Разработчикам не нужен шелл - это мощно. А что им нужно, Проводник? Они не люди что ли? Разработчик это синоним программист в данном случае, а программист постоянно занимается внезапно программированием, и всякие шеллы постоянно используются для скриптов этими программистами.

"Представлена новая командная оболочка nushell"
Отправлено пох. , 30-Авг-19 11:09 
> Разработчикам не нужен шелл - это мощно. А что им нужно, Проводник?
> Они не люди что ли? Разработчик это синоним программист в данном
> случае, а программист постоянно занимается внезапно программированием, и всякие шеллы
> постоянно используются для скриптов этими программистами.

не смешите мои тапочки. современный разработчик пользуется шеллом, копипастя туда со стековерфлоу sudo ls -l
(он не знает что делает первая команда, и зачем она ненужна - тоже. Ему так сказали когда-то - все команды начинать с sudo. А если и не сказали - в копипасте будет так.)


"Представлена новая командная оболочка nushell"
Отправлено Anonymoustus , 30-Авг-19 11:40 
> не смешите мои тапочки. современный разработчик пользуется шеллом, копипастя туда со стековерфлоу
> sudo ls -l
> (он не знает что делает первая команда, и зачем она ненужна -
> тоже. Ему так сказали когда-то - все команды начинать с sudo.
> А если и не сказали - в копипасте будет так.)

В этом виноваты, пожалуй, не сами обезьянки, но их работодатели, требующие, чтобы готово было на вчера. У обезьянок просто нет выбора. Пока пролистаешь учебники и справочники, триста спартанцев^W индусов уже напишут за ведро карри твою работу.


"Представлена новая командная оболочка nushell"
Отправлено Wilem , 30-Авг-19 18:04 
Разработчики разные бывают. Речь про нормальных, которые и делают всю работу по существу. Зачем обсуждать криворуких, которым ничего не надо - непонятно.

"Представлена новая командная оболочка nushell"
Отправлено Michael Shigorin , 30-Авг-19 22:12 
Кто не видит филерукости того организма, который выродил сабж -- тот обсуждать сорта разработчиков тем более не дорос, увы и ах.  Хотя Даннинг и Крюгер наверняка бы ухмыльнулись.

Лет десять-пятнадцать-двадцать назад видел обсуждение того, как можно попытаться сконструировать юниксовый подход со структурированными данными.  То ли у Витуса, то ли raorn@ со товарищи думали -- сходу даже не вспомню.

Так вот _гораздо_ более умные люди, чем вот это вот "поколение гибхаба", тогда к более-менее общему решению не пришли.  Может, потому, что "cpu > 10" (десять чего?  штук, процентов, килограмм?) в такие ворота не лезет?..


"Представлена новая командная оболочка nushell"
Отправлено Аноним , 02-Сен-19 04:51 
Почему бы не иметь для всех команд флаг для вывода структурированной информации? Попроще будет парсить, чем портянками на баше + грепом/седом/авк.

>Может, потому, что "cpu > 10" (десять чего?  штук, процентов, килограмм?) в такие ворота не лезет?

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


"Представлена новая командная оболочка nushell"
Отправлено myhand , 29-Авг-19 13:50 
Опытные разработчики давно уже что-то вроде jupyter notebook используют...

"Представлена новая командная оболочка nushell"
Отправлено Аноним , 29-Авг-19 21:38 
Тока там библиотеки отфильтрованы из Пипа, славного своей лёгкой опомоеннностью.

А нужны стабилбные и отлаженные инструменты. Которые не исчезнут через два года на платформе продуктивных серверов.

Пишут в Юпитерах, да они на поверку ерундовистые IT'шники. Так - ... художники.


"Представлена новая командная оболочка nushell"
Отправлено kai3341 , 29-Авг-19 14:26 
>  Это для умненьких разработчиков, понимающих силу и удобство единого набора операций над единым форматом данных. Ты, видимо, не понял про что шелл и чем он отличается от беша. Он на самом деле абсолютно не пригоден для работы в текущем виде, это фактически демо. Но концепция - уже реализованная и работающая - офигительная.

Два чаю вам. Идея в том, что в stdout сегодня пишется не поток байт, а структурированная информация. К структурированной информации же можно применять фильтрацию, конвертацию, аггрегирование.

В своё время очень искал некую помесь bash и SQL, когда логи лопатил


"Представлена новая командная оболочка nushell"
Отправлено user90 , 29-Авг-19 14:39 
Так и нужно было говорить: передаются объекты.
Но вспомни, что шелл используется для администрирования. Итак, в итоге у нас получается "объектно-ориентированное администрирование", ыыыы. Подобное - особенно в текстовой консольке - сложно даже под тяжелыми галлюциногенами представить..

"Представлена новая командная оболочка nushell"
Отправлено Crazy Alex , 29-Авг-19 14:57 
Ну вот если кто-то соорудит простой и удобный гибрид - тогда, может, и взлетит. Думаю, никто не будет против того, чтобы там, где таблица, прилетала таки таблица, заранее корректно разделённая и без нужды в экранировании, если это не будет ломать уже привычные вещи. Что, например, подразумевает, что на вход "старой" тулзы, ожидающей текст, должен прилететь именно текст, обратно слепленный из этой таблицы.

"Представлена новая командная оболочка nushell"
Отправлено user90 , 29-Авг-19 15:03 
Такой - не соорудит. В итоге все равно выйдет что-то мышекликательное и с картинками. На электроне))

"Представлена новая командная оболочка nushell"
Отправлено Crazy Alex , 29-Авг-19 17:16 
Это совсем другой вопрос

"Представлена новая командная оболочка nushell"
Отправлено kai3341 , 29-Авг-19 16:55 
Вовсе не обязательно делать nushell шеллом по умолчанию -- структурированный stdout бывает реально редко. Но он может простимулировать добавление структурированного stdout в софт. Тут кого прижало, тот и сделал патч

"Представлена новая командная оболочка nushell"
Отправлено Wilem , 30-Авг-19 18:26 
> Но вспомни, что шелл используется для администрирования.

Шелл используется в основном для программирования. Ещё небольшая часть использования шелла - это интерфейс для человека, то есть интерактивный режим. "Администрирование" это что-то размытое. Для программирования беш удобен только до определённого предела и проблем и неудобств с ним - завались. В этом смысле что-то типа `nushell` - отличная штука. Когда допилят функционал.


"Представлена новая командная оболочка nushell"
Отправлено анонн , 29-Авг-19 14:56 
> Два чаю вам. Идея в том, что в stdout сегодня пишется не
> поток байт, а структурированная информация. К структурированной информации же можно применять
> фильтрацию, конвертацию, аггрегирование.

Есть (причем давние) попытки с прикруткой libxo:


% ps --libxo json|jq  
{
  "process-information": {
    "process": [
      {
        "pid": "77004",
        "terminal-name": "v7 ",
        "state": "I",
        "cpu-time": "0:00,36",
        "command": "-zsh (zsh)"
      },
      {
        "pid": "83425",
        "terminal-name": "v7 ",
        "state": "I+",
        "cpu-time": "0:00,01",
        "command": "/bin/sh /usr/local/bin/startx"
      },

% netstat --libxo json|jq                                                      
{
  "statistics": {
    "socket": [
      {
        "protocol": "tcp4",
        "receive-bytes-waiting": 0,
        "send-bytes-waiting": 0,
        "local": {
          "address": "XXX.XXX.XXX.XXX",
          "port": "34508"
        },  
        "remote": {
          "address": "wfe0.nyi.freebsd",
          "port": "https"
        },
        "tcp-state": "CLOSE_WAIT "
      },

seq 3|wc --libxo xml                                                        
<wc><file><lines>3</lines><words>3</words><characters>6</characters></file></wc>        


Но толку-то, если оно более нигде не поддерживается …


"Представлена новая командная оболочка nushell"
Отправлено Дон Ягон , 29-Авг-19 17:58 
> Есть (причем давние) попытки с прикруткой libxo

Кстати да, вспомнить эту активность во FreeBSD в контексте темы новости уместно.

> Но толку-то, если оно более нигде не поддерживается

Ну почему: можно пайпить в какой-нибудь jq или что-то подобное. Это едва ли всегда будет удобнее, чем стандартная связка из возможностей shell + sed + awk, но иногда может быть и удобнее.

У меня к этому другая претензия: очень часто это попахивает оверинжинирингом.
Например, зачем это в ls или в том же wc?
Примерно все языки позволяют тривиально воспроизводить функционал ls и wc (и тому подобное).
Точно ли нужно вкорячивать это в стандартные утилиты, а не написать нужную тебе логику на нужном тебе ЯП?


"Представлена новая командная оболочка nushell"
Отправлено анонн , 29-Авг-19 19:04 
> Ну почему: можно пайпить в какой-нибудь jq или что-то подобное. Это едва
> ли всегда будет удобнее, чем стандартная связка из возможностей shell +
> sed + awk, но иногда может быть и удобнее.

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

Хотя, с другой стороны, задумано libxo вообще-то для "форматированного вывода" - с чем оно, имхо, прекрасно справляется.

> У меня к этому другая претензия: очень часто это попахивает оверинжинирингом.Например, зачем это в ls или в том же wc?
> Примерно все языки позволяют тривиально воспроизводить функционал ls и wc (и тому
> подобное).
> Точно ли нужно вкорячивать это в стандартные утилиты, а не написать нужную
> тебе логику на нужном тебе ЯП?

А вот тут я не согласен - посмотрите на реализацию этого в wc (в ls как раз еще не встроили)
https://github.com/freebsd/freebsd/blob/master/usr.bin/wc/wc.c


if (doline)
        xo_emit_h(xop, " {:lines/%7ju/%ju}", linect);
    if (doword)
        xo_emit_h(xop, " {:words/%7ju/%ju}", wordct);
    if (dochar || domulti)
        xo_emit_h(xop, " {:characters/%7ju/%ju}", charct);
    if (dolongline)
        xo_emit_h(xop, " {:long-lines/%7ju/%ju}", llct);
    if (file != NULL)
        xo_emit_h(xop, " {:filename/%s}\n", file);

и сравните с
https://github.com/wertarbyte/coreutils/blob/master/src/wc.c
(в котором кстати в 2 раза больше строк кода ;) )

if (print_lines)
    {
      printf (format_int, number_width, umaxtostr (lines, buf));
      format_int = format_sp_int;
    }
  if (print_words)
    {
      printf (format_int, number_width, umaxtostr (words, buf));
      format_int = format_sp_int;
    }
  if (print_chars)
    {
      printf (format_int, number_width, umaxtostr (chars, buf));
      format_int = format_sp_int;
    }

Т.е. никаких особых усложнений нет, зато предоставлется одинаковый формат вывода утилит.


"Представлена новая командная оболочка nushell"
Отправлено Дон Ягон , 30-Авг-19 03:31 
> Можно, но на мой взгляд, это будет все равно костыль/полумера - передаем через пайп данные в виде текста, только в дополнительной обертке + с сильным оверхедом, да еще и только для вывода данных - "скормить" вывод в пайп следующей стандартной утилите без доп. обработки не получится.

Имхо, это не столько костыль или полумера, сколько "не нужно" в бОльшей части случаев. А там, где от этого польза таки есть, она незначительна и представляет собой упрощение написания команды и/или её сокращение и/или более явное описание того, что хочется получить.

> Хотя, с другой стороны, задумано libxo вообще-то для "форматированного вывода" - с чем оно, имхо, прекрасно справляется.

Как по мне, libxo задуман, чтобы не парсить выхлоп сложных и специфичных утилит а-ля gpart или netstat из скриптов. В большей степени на perl/python/ruby/js/..., хотя sh + jq (или аналог) тоже возможен (только зачем?).

> в ls как раз еще не встроили

Пишут, что встроили - https://svnweb.freebsd.org/base?view=revision&revision=284198 + https://wiki.freebsd.org/LibXo .
Но сам я давно FreeBSD не использовал, так что лучше проверить, может отломали обратно - я не знаю.

> А вот тут я не согласен - посмотрите на реализацию этого в wc

...
> Т.е. никаких особых усложнений нет, зато предоставлется одинаковый формат вывода утилит.

То, что гнутые утилиты жирны и часто представляют собой торжество оверинжиниринга, а бсдшные в целом нет - не новость.

Однако, впиливание libxo в условные ls или wc - это тоже неоправданное усложнение.
Зачем хочется получать выхлоп условного netstat в json/xml мне понятно, зачем хочется получать выхлоп ls/wc в них - не понятно. Любой язык программирования позволяет сделать это своими средствами и так и надо делать. Вызывать ls --libxo json для получения списка директорий из условного perl/python - говнарство. Не надо давать возможность делать так.
Если бы с этим можно было бы как-то удобно работать из shell, типа как в nushell, например, это имело бы какой-то смысл. Но нет. И рождается теперь такое например: https://unix.stackexchange.com/questions/407850/how-to-use-t...

Стоит ли говорить, что лучше бы он просто написал на perl то, что ему нужно?

Я, с одной стороны придираюсь, с другой стороны правда не понимаю зачем неплохую идею доводить до абсурда.


"Представлена новая командная оболочка nushell"
Отправлено анонн , 30-Авг-19 10:51 
>> Можно, но на мой взгляд, это будет все равно костыль/полумера - передаем
>> Хотя, с другой стороны, задумано libxo вообще-то для "форматированного вывода" - с чем оно, имхо, прекрасно справляется.
> Как по мне, libxo задуман, чтобы не парсить выхлоп сложных и специфичных
> утилит а-ля gpart или netstat из скриптов. В большей степени на
> perl/python/ruby/js/..., хотя sh + jq (или аналог) тоже возможен (только зачем?).

Это само-собой - для человеков-то оно уже отформатированно "пробелами"
>> в ls как раз еще не встроили
> Пишут, что встроили - https://svnweb.freebsd.org/base?view=revision&revision=284198
> + https://wiki.freebsd.org/LibXo .
> Однако, впиливание libxo в условные ls или wc - это тоже неоправданное
> усложнение.
> Зачем хочется получать выхлоп условного netstat в json/xml мне понятно, зачем хочется
> получать выхлоп ls/wc в них - не понятно. Любой язык программирования
> позволяет сделать это своими средствами и так и надо делать. Вызывать
> ls --libxo json для получения списка директорий из условного perl/python -
> говнарство. Не надо давать возможность делать так.


commit 8d50f6fe856dd7e9d32b7ac4867a8e89e82d1e9a
Author: cem <cem@FreeBSD.org>
Date:   Wed Jan 17 22:47:34 2018 +0000

    Convert ls(1) to not use libxo(3)
    
    libxo imposes a large burden on system utilities. In the case of ls, that
    burden is difficult to justify -- any language that can interact with json
    output can use readdir(3) and stat(2).



"Представлена новая командная оболочка nushell"
Отправлено пох. , 30-Авг-19 11:14 
> Author: cem <cem@FreeBSD.org>

надо ж, нашелся хоть один (полу) вменяемый (полу - потому что опять ниасилен ifdef)

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

Учитывая что очередной code exec в прекрасной libxml2 по сей день находят раз в пару месяцев (не потому что их стало меньше ,конечно, а потому что всем надоело)


"Представлена новая командная оболочка nushell"
Отправлено Дон Ягон , 30-Авг-19 14:42 
> полу - потому что опять ниасилен ifdef

Ну и зачем он тут нужен? Это блин ещё хуже, чем неотключаемое наличие lixo'шного выхлопа в ls.
Бесполезный код придётся поддерживать, "продвинутые" пользователи будут жаловаться, что не работает, выносить мозг странными вопросами и т.п.
Не нужно поощрять возможность сделать херню, даже опционально.

Ifdef в этом месте признак не гибкости, а неуверенности в своей правоте.


"Представлена новая командная оболочка nushell"
Отправлено пох. , 30-Авг-19 17:13 
> Ну и зачем он тут нужен?

потому что следом появились бы такие же в ifconfig и прочих местах. И я был бы счастлив одним на всю систему -DNOLIBXO


"Представлена новая командная оболочка nushell"
Отправлено Дон Ягон , 30-Авг-19 17:58 
> И я был бы счастлив одним на всю систему -DNOLIBXO

А, ты об этом. С этим соглашусь.
Не согласен был с оборачиванием ifdef'ом одного лишь ls.


"Представлена новая командная оболочка nushell"
Отправлено Дон Ягон , 30-Авг-19 14:14 
> libxo imposes a large burden on system utilities. In the case of ls, that
> burden is difficult to justify -- any language that can interact with json
> output can use readdir(3) and stat(2).

Круто! И то, что провели работу над ошибками, и то, что их мотивация выпилить libxo из ls похожа на то, что я про это думаю.


"Представлена новая командная оболочка nushell"
Отправлено _ , 30-Авг-19 04:51 
Срам то какой! :(
Линуксойды - копипастеры бойлерплейта, ну а фуле от ракешкумаров ожидать :(

"Представлена новая командная оболочка nushell"
Отправлено Аноним , 30-Авг-19 09:36 
Это не овер.
Это АПИ: даёшь команду, получаешь машино-читаемый ответ из ls.

Что не писать сложные фильтры, зависящие от реализации и проч. нюансы.

Это для  скриптования оч. хор.


"Представлена новая командная оболочка nushell"
Отправлено Дон Ягон , 30-Авг-19 14:24 
> даёшь команду, получаешь машино-читаемый ответ из ls.

Но зачем? Каждый язык, умеющий парсить json умеет всё, что умеет ls. В чём профит?


"Представлена новая командная оболочка nushell"
Отправлено Аноним , 02-Сен-19 11:23 
Вас пример с | where size > 10kb не убедил? Фильтр, который и парсит json, может быть отдельной утилитой. Ему не нужно ничего знать про файлы.

"Представлена новая командная оболочка nushell"
Отправлено Дон Ягон , 02-Сен-19 18:13 
> Вас пример с | where size > 10kb не убедил?

Конечно нет. Чего тут может убедить-то?
То же самое делается awk'ом, и очень тривиально.

> Фильтр, который и парсит json, может быть отдельной утилитой. Ему не нужно ничего знать про файлы.

Зато нужно знать про все возможные схемы json, которые в него прилетят.


"Представлена новая командная оболочка nushell"
Отправлено Аноним , 02-Сен-19 19:25 
>То же самое делается awk'ом, и очень тривиально.

Да, и как же? Пишется adhoc парсер для каждой новой утилиты? Или классика, по номеру столбца выбирать?

>Зато нужно знать про все возможные схемы json, которые в него прилетят.

Для выборки значения по ключу теперь потребовалась схема.


"Представлена новая командная оболочка nushell"
Отправлено Дон Ягон , 02-Сен-19 19:40 
>>То же самое делается awk'ом, и очень тривиально.
> Да, и как же? Пишется adhoc парсер для каждой новой утилиты? Или классика, по номеру столбца выбирать?

Да, именно так. В этой теме было уже по меньшей мере два примера, как (автор сообщений не я, если что).

>>Зато нужно знать про все возможные схемы json, которые в него прилетят.
> Для выборки значения по ключу теперь потребовалась схема.

Конечно. Очевидно, что у ps и у ls будет разный по смыслу выхлоп - https://www.opennet.ru/openforum/vsluhforumID3/118309.html#55 .
(у ls libxo'шный выхлоп, к счастью, оторвали, но для примера - ок)
Это если мы про FreeBSD utils и libxo.
Если мы про nushell, то я не смотрел, как именно там сделано. Если по-аналогии с powershell, то история разные объекты в разных случаях и необходимость уметь понимать, с чем мы имеем дело никуда не делась. Там, вероятно, сложности будут не такие вопиющие, как в примере с libxo (потому что то, что с libxo делалось, насколько я понимаю, вообще без оглядки на использование в стиле powershell), но концептуально никуда не денутся.


"Представлена новая командная оболочка nushell"
Отправлено Crazy Alex , 29-Авг-19 14:53 
Оно будет иметь хоть какой-то право на жизнь если будет обратно-совместимо с существующим всем - утилитами, скриптами, привычками. То есть пишешь как писал - получаешь те же резулдьтаты, что и в bash. Ставишь, я не знаю, тройной пайп или ту самуб шляпу - получаешь "расширенный" вариант. Только эту совместимость поддерживать - немного свихнёшься, а без неё - не взлетит (и правильно).

"Представлена новая командная оболочка nushell"
Отправлено Wilem , 29-Авг-19 22:48 
Культ старья ни к чему хорошему не приведёт.

"Представлена новая командная оболочка nushell"
Отправлено _ , 30-Авг-19 04:56 
ты уже заменил колёса на квадратные? Д,Б!(С)

"Представлена новая командная оболочка nushell"
Отправлено пох. , 30-Авг-19 11:15 
> ты уже заменил колёса на квадратные? Д,Б!(С)

каменный век! Только старперы ездят на квадратных. У нормального-то хипстера - глянь, треугольные!


"Представлена новая командная оболочка nushell"
Отправлено Wilem , 30-Авг-19 18:29 
Я с юниксами и шеллами и программированием года так с 1996. Только потому, что беш - старый и все его знают, не делает его лучшим или идеальным. Как-то так получается, что прогресс идёт через обобщение опыта и переход на что-то лучшее.  Правда, что бы понять что лучшее, а что худшее - надо в теме неплохо разбираться. Беш задрал - уже сил нет, и концептуально новый шелл давно уже назрел.

"Представлена новая командная оболочка nushell"
Отправлено KonstantinB , 29-Авг-19 20:42 
Непонятно, зачем все ломать было для этой концепции. Достаточно научиться работать с JSON, а все остальное оставить как было.

"Представлена новая командная оболочка nushell"
Отправлено Wilem , 30-Авг-19 18:34 
JSON непозволительно беден в поддерживаемых типах данных. Ну и собственно nu с джейсоном работать умеет, насколько это возможно, т.к. смотри бедноту типов.

"Представлена новая командная оболочка nushell"
Отправлено KonstantinB , 30-Авг-19 18:48 
А каких типов данных не хватает для шелла? Массивы есть, хэш-таблицы есть, числа есть, булевые значения есть, null есть. Что еще надо? Строгую типизацию в шелл? Нафига она там?

"Представлена новая командная оболочка nushell"
Отправлено Michael Shigorin , 30-Авг-19 22:07 
Таки читайте воспоминания Ашманова про "единую шину" "умненьких разработчиков" -- вдруг что-то да дойдёт, _кто_ непригоден для работы и где "единый формат данных", а где та несусветная чушь, что приведена в тексте новости как достижение.

"Представлена новая командная оболочка nushell"
Отправлено Аноним , 29-Авг-19 12:36 
Согласен, что баш скрипты в общем случае более гибки. Особенно если сравнивать с текущей веврсии этого nushell, в которой судя по всему ещё даже условий, циклов и прочего не завезли.

Но если гововорить про пример с ls, то аналогичный эффект в баше можно достичь вот так:
find . -maxdepth 1 -type f -size +10k -exec ls {} \;

Мне кажется, что в nushell всё же более лаконичный синтаксис.


"Представлена новая командная оболочка nushell"
Отправлено Аноним , 29-Авг-19 12:43 
Метаязыки не нужны.

"Представлена новая командная оболочка nushell"
Отправлено Аноним , 29-Авг-19 12:55 
А вы дошли до страницы в мане, где find болванки прожигает?

"Представлена новая командная оболочка nushell"
Отправлено Аноним84701 , 29-Авг-19 12:56 

> Но если гововорить про пример с ls, то аналогичный эффект в баше
> можно достичь вот так:
> find . -maxdepth 1 -type f -size +10k -exec ls {} \;

% ls -l | awk '$5>10000'


"Представлена новая командная оболочка nushell"
Отправлено Аноним , 29-Авг-19 14:30 
Ну так гораздо понятнее да. Ну и эффект не соответствует выводу команды ls, из которого убрали отфильтрованные файлы.

"Представлена новая командная оболочка nushell"
Отправлено Crazy Alex , 29-Авг-19 14:59 
...и вместо читаемого слёту получаем нечто, где надо понимать, а что там за пятое поле. Хотя компактнее, конечно.

"Представлена новая командная оболочка nushell"
Отправлено Аноним84701 , 29-Авг-19 15:09 
> ...и вместо читаемого слёту получаем нечто, где надо понимать, а что там

Если хочется получить максимально близкий "перевод"  примера
> ls | where size>10k

то придется так.

Для эстетствующих  есть вариант:


ls -l | awk -v 'size_col=5' '$size_col>10000'


"Представлена новая командная оболочка nushell"
Отправлено Анонимный Алкоголик , 31-Авг-19 21:05 
>> ...и вместо читаемого слёту получаем нечто, где надо понимать, а что там
> Если хочется получить максимально близкий "перевод"  примера
>> ls | where size>10k
> то придется так.
> Для эстетствующих  есть вариант:
>
 
> ls -l | awk -v 'size_col=5' '$size_col>10000'
>  

У нас из любимых файлов такие:
Инцидент "Бедфорд".mpeg
Stormy Daniels.mp

(короче, правильно find)


"Представлена новая командная оболочка nushell"
Отправлено Аноним84701 , 31-Авг-19 21:48 
> У нас из любимых файлов такие:
> Инцидент "Бедфорд".mpeg
> Stormy Daniels.mp
> (короче, правильно find)

Зачем писать загадками?
Что не так (нет, я догадываюсь, но неплохо бы услышать подтверждение)?
long listing format -l, если что, отнюдь не глупые люди придумали:
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/l...
> I "%s %u %s %s %u %s %s\n", <file mode>, <number of links>,
>   <owner name>, <group name>, <size>, <date and time>,
>   <pathname>
>


"Представлена новая командная оболочка nushell"
Отправлено Анонимный Алкоголик , 02-Сен-19 05:09 
> Зачем писать загадками?
> Что не так (нет, я догадываюсь, но неплохо бы услышать подтверждение)?
> long listing format -l, если что, отнюдь не глупые люди придумали:
> https://pubs.opengroup.org/onlinepubs/9699919799/utilities/l...
>> I "%s %u %s %s %u %s %s\n", <file mode>, <number of links>,
> >   <owner name>, <group name>, <size>, <date and time>,
>>   <pathname>

Ну эта... Как эта... Эта ну такой вот файл. Допустим их там не 2... Это в глазах двоится.
Опровергаем. Поднимаем.


"Представлена новая командная оболочка nushell"
Отправлено bubuka , 29-Авг-19 13:22 
find . -maxdepth 1 -type f -size +10k -ls, тогда не будет на каждый файл по процессу запускать

"Представлена новая командная оболочка nushell"
Отправлено Ordu , 29-Авг-19 14:17 
> Но если гововорить про пример с ls, то аналогичный эффект в баше можно достичь вот так:
> find . -maxdepth 1 -type f -size +10k -exec ls {} \;

А это уже синтаксис find, а не синтаксис bash. ad hoc решение для файлов.


"Представлена новая командная оболочка nushell"
Отправлено anonymous , 29-Авг-19 20:42 
Вообще это юнихвей, когда одна программа делает одно действие и делает это хорошо.

"Представлена новая командная оболочка nushell"
Отправлено Ordu , 29-Авг-19 21:28 
> Вообще это юнихвей, когда одна программа делает одно действие и делает это
> хорошо.

Это ты намекаешь, что find делает одно действие? find -- это комбайн, да такой, что таких ещё поискать надо. Сделай man find в консольке и почитай.


"Представлена новая командная оболочка nushell"
Отправлено Аноним , 30-Авг-19 08:34 
и что этому комбайну мешает быть одной программой, которая делает эти действия хорошо?

"Представлена новая командная оболочка nushell"
Отправлено Ordu , 30-Авг-19 13:45 
> и что этому комбайну мешает быть одной программой, которая делает эти действия
> хорошо?

Ничто. Но и тем не менее, если unixway -- это на каждое действие по программе, то find -- это не unixway, потому что тут на много действий одна программа.


"Представлена новая командная оболочка nushell"
Отправлено Andrey Mitrofanov_N0 , 30-Авг-19 14:19 
>если unixway -- это на каждое
> действие по программе,

Нет.

>то find -- это не unixway

Нет.

>, потому что
> тут на много действий одна программа.


"Представлена новая командная оболочка nushell"
Отправлено Ordu , 30-Авг-19 14:33 
>>если unixway -- это на каждое
>> действие по программе,
> Нет.

Нет.

>>то find -- это не unixway
> Нет.

Нет.



"Представлена новая командная оболочка nushell"
Отправлено Andrey Mitrofanov_N0 , 30-Авг-19 14:54 
>>>если unixway -- это на каждое
>>> действие по программе,
>> Нет.
> Нет.

Уникальное расширенное предложение.  Торопитесь!

"" Если Вы хорошо попросите [и не раньше!], я дам вам ссылочку на taoup -- на объяснения про юникс, про принципы, про почему не нарушение, про ... ""
я-- http://www.opennet.ru/openforum/vsluhforumID3/117299.html#132


"Представлена новая командная оболочка nushell"
Отправлено Ordu , 30-Авг-19 17:57 
>>>>если unixway -- это на каждое
>>>> действие по программе,
>>> Нет.
>> Нет.
> Уникальное расширенное предложение.  Торопитесь!
> "" Если Вы хорошо попросите [и не раньше!], я дам вам ссылочку
> на taoup -- на объяснения про юникс, про принципы, про почему
> не нарушение, про ... ""
> я-- https://www.opennet.ru/openforum/vsluhforumID3/117299.html#132

Я читал TAOUP лет пятнадцать назад, оно выглядело тогда откровением свыше, но сегодня я стал старше и умнее, и теперь оно выглядит попыткой натянуть сову на глобус. То есть попыткой взять существующий unix, и написать концепцию рационализирующую существующее положение дел, которая будет говорить, что то что есть -- хорошо, то чего нет -- плохо. Если X11 не влезает в концепцию и использует бинарный протокол вместо текстового, значит мы подопрём концепцию ad hoc костылём. Если find не влезает в концепцию, потому что комбайн, мы подопрём концепцию ещё одним ad hoc костылём. И на каждое несоответствие теоретической концепции с реальностью, мы воткнём ещё один рационализирующий ad hoc костыль.

Это ущербная методология, потому что действуя таким образом, под любое явление можно создать концепцию, которому это явление будет соответствовать. Любая правильная методология построения концепции даст концепцию, которой ни одно практическое решение не соответствует. Такая концепция будет _полезна_, потому что она позволит видеть, что не соответствует, а значит искать способы сделать это лучше. Концепция же которая рационализирует статус кво может быть полезна только в политических целях, чтобы громить оппонентов или воодушевлять сторонников. Но мы же, вроде, технари, а не политики? Или я ошибаюсь?

find содержит себе, например, синтаксис описания выборки, чтобы фильтровать данные, выбирая из них интересующее. Мы легко можем представить себе универсальный синтаксис, который будет работать не только с файлами, а с любыми данными. Есть sql, есть R, есть awk -- есть куча _универсальных_ вещей для фильтрации. В coreutils есть ряд утилит, позволяющих фильтровать поток данных. В конце-концов, в shell'е есть условные конструкции, которые позволяют фильтровать даные. Но find использует свой собственный ad hoc костыль. Но Эрик Раймонд рассказывает нам о том, что find -- это unix way. Его концепция unix-way ущербна и непригодна для применения без доработки напильником, потому что совершенно очевидно, что наличие в unix такого комбайна как find -- это провал концепции "программа делает одну небольшую вещь, но делает её хорошо". SQL и R, позволяют описывать гораздо лучше и понятнее гораздо более сложные выборки данных. awk позволяет работать с выборками гораздо лучше, выписывая много фильтров одновременно, и вешая на каждый фильтр свой обработчик. find же запиливает свой собственный ущербный синтаксис, только потому, что авторы не нашли способа как написать маленькую программу, которая хорошо умеет только рекурсивно обходить директории, обрабатывая всякие нюансы типа ссылок, а фильтрацию оставить другим утилитам, тому же awk'у например.

find -- это провал концепции, но для Эрика Раймонда -- это успех концепции. Чёрное -- это белое. Война -- это мир. Любовь -- это ненависть. И всё из-за ущербности методологии.


"Представлена новая командная оболочка nushell"
Отправлено Дон Ягон , 31-Авг-19 00:59 
> Эрик Раймонд

Так себе авторитет, ИМХО.

>  find -- это провал концепции "программа делает одну небольшую вещь, но делает её хорошо"

Позвольте полюбопытствовать, почему именно? Потому что там есть опции а-ля "--ls" или "--delete"? Если так, то имхо это придирка.

> find же запиливает свой собственный ущербный синтаксис, только потому, что авторы не нашли способа как написать маленькую программу, которая хорошо умеет только рекурсивно обходить директории, обрабатывая всякие нюансы типа ссылок, а фильтрацию оставить другим утилитам, тому же awk'у например.
> Есть sql, есть R, есть awk -- есть куча _универсальных_ вещей для фильтрации. В coreutils (findutils же вроде?) есть ряд утилит, позволяющих фильтровать поток данных. В конце-концов, в shell'е есть условные конструкции, которые позволяют фильтровать даные. Но find использует свой собственный ad hoc костыль

find делает всё правильно. awk - утилита для обработки текста. Она не знает ничего ни про права, ни про овнера/группу, ни про любое другое свойства любого объекта фс. В то же время, find только про это и знает, его возможности фильтрации по имени файла ограничены глобами, если хочется чего-то бОльшего, то нужно передавать выхлоп find через пайп хоть тому же awk.
Что касается sql и R, то лично я бы не хотел использовать подобный синтаксис в find. Это слишком многословно. Да, в теории это гибче, на практике, задачи, решаемые при помощи find крайне редко требуют что-то сложнее or|not|and и сравнения свойств объектов фс - такая гибкость просто не требуется, а она не бесплатна. Не имею ничего против приложения, которое работает как find, но вместо его аргументов принимает на вход, например, SQL запросы, но только не в базовой поставке, пожалуйста.


"Представлена новая командная оболочка nushell"
Отправлено Ordu , 31-Авг-19 11:28 
> awk - утилита для обработки текста.

Так я о том и говорю. Для обработки текста свой язык фильтрации. Для обработки файлов ещё один язык фильтрации. Для обработки чего угодно ещё запилим ещё один язык фильтрации. На каждый чих запилим по языку фильтрации. Разве нужна концепция unix, чтобы заниматься этой хнёй?

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

Не нужен find со встроенным sql -- это не unix-way. Нужен find, который на выходе выдаёт вывод, который затем можно обрабатывать универсальной утилитой с синтаксисом sql. Или с синтаксисом R. Или ещё каким. Можно иметь несколько таких утилиток, с синтаксисами заточенными под разные случаи или вкусы. И вот тогда это будет unix-way: я беру задачу, разбиваю её на подзадачи, под каждую подзадачу выбираю ту утилиту, которая лучше всего на неё заточена, после чего комбинирую эти утилиты в единую командную строку и получаю результат. Если же поисковой синтаксис прибит гвоздями к find, то выбора уже не остаётся.


"Представлена новая командная оболочка nushell"
Отправлено Дон Ягон , 31-Авг-19 21:34 
>> awk - утилита для обработки текста.
> На каждый чих запилим по языку фильтрации. Разве нужна концепция unix, чтобы заниматься этой хнёй?

Она именно в этом и заключается. Поэтому, например, мы имеем отдельно awk и sed (были бы они ещё одинаковые в bsd и linux.. но это уже другая история).

> Не нужен find со встроенным sql -- это не unix-way.

Нет, это не так. Синтаксис тут вообще вторичен. Парсер SQL сложнее, синтаксис многословнее, а бОльшая гибкость в задачах find будет почти никогда не нужна. Но find принимающий на вход текущие аргументы или find, принимающий на вход sql будут "юниксвейны" в одинаковой степени.

> Нужен find, который на выходе выдаёт вывод, который затем можно обрабатывать универсальной утилитой с синтаксисом sql. Или с синтаксисом R. Или ещё каким.

А зачем он нужен? Чтобы выпендриваться типа крутой архитектурой? Но она выходит сильно круче решаемых задач -> оверинжиниринг.
Ей богу, я могу придумать только какую-то оторваную от реальности жесть, чтобы sql в find был оправдан. В обычных задачах пользы от этого не будет.
Следовательно конструировать весь этот ужас со "сменными насадками" смысла нет.

И в любом случае, вы можете написать утилиту с каким угодно синтаксисом, которая будет разбирать выхлоп find. Но ведь это не то, чего хотите вы? Вы хотите чтобы недо-find только отдавал описание объектов ФС в каком-то бинарном формате и произвольное число фронтендов, этот формат читающих?
Если да, то это абсурд, потому что не понятно, зачем в этой схеме недо-find нужен вообще - можно же сразу читать данные с ФС, из самой программы, недо-find тут - избыточная абстракция.

> Можно иметь несколько таких утилиток, с синтаксисами заточенными под разные случаи или вкусы.

Можно, но не нужно.

> И вот тогда это будет unix-way:

Это будет оверинжиниринг.

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

А где грань разумности? Можно ведь чуть ли не каждый сискол обернуть примитивной программой и потом конвееры из них строить. Или наоборот, писать монстров на все случаи жизни, а-ля systemd - некоторые тоже считают, что это юниксвейно, ведь оно решает задачу только одну задачу - запуск программ, просто смотрит на неё "достаточно широко"...
Как мне кажется, делать нужно только самые основные возможности, плюс наиболее практичные и часто нужные, если их тривиально написать. Остальной функционал, при необходимости, реализуется сторонними приложениями, которым через пайп передаются данные от предыдущего и так далее.
Если мы говорим о юниксвейном приложении для базовой поставки с ОС.

> Если же поисковой синтаксис прибит гвоздями к find, то выбора уже не остаётся.

Всё так. Но синтаксис не является признаком "юниксвейности".


"Представлена новая командная оболочка nushell"
Отправлено Ordu , 31-Авг-19 22:37 
>>> awk - утилита для обработки текста.
>> На каждый чих запилим по языку фильтрации. Разве нужна концепция unix, чтобы заниматься этой хнёй?
> Она именно в этом и заключается. Поэтому, например, мы имеем отдельно awk
> и sed (были бы они ещё одинаковые в bsd и linux..
> но это уже другая история).
>> Не нужен find со встроенным sql -- это не unix-way.
> Нет, это не так. Синтаксис тут вообще вторичен. Парсер SQL сложнее, синтаксис
> многословнее, а бОльшая гибкость в задачах find будет почти никогда не
> нужна.

Но когда она будет нужна, я не смогу использовать find с sql. Мне придётся выёживаться мухой на стекле, чтобы получить csv, который затем можно будет затолкать в sqlite, чтобы затем сделать оттуда выборку.

> Но find принимающий на вход текущие аргументы или find, принимающий
> на вход sql будут "юниксвейны" в одинаковой степени.

Мне не нужен find принимающий на вход sql. Всё что он должен принимать -- это список файлов/директорий, которые выданы ему шеллом. По-хорошему, он даже вообще не нужен, потому что это умеет ls, и рекурсивно обходить директории ls тоже умеет. Ещё du умеет обходить рекурсивно. Зачем нужен этот десяток реализаций рекурсивного обхода директорий, когда можно обойтись одним?

>> Нужен find, который на выходе выдаёт вывод, который затем можно обрабатывать универсальной утилитой с синтаксисом sql. Или с синтаксисом R. Или ещё каким.
> А зачем он нужен? Чтобы выпендриваться типа крутой архитектурой? Но она выходит
> сильно круче решаемых задач -> оверинжиниринг.

Да ладно, оверинжиниринг -- это find, в который напихали всё что нужно, всё что не нужно, и ещё немного.

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

Есть две директории, в них много одинаковых файлов, но есть разные, я хочу создать третью директорию как объединение/пересечение/дополнение/любая-другая-операция-над-множествами из этих двух. В идеале даже сделать так, чтобы из одной из первых двух была бы сделана "третья", минимальным копированием файлов, потому что она находится на тормозном внешнем носителе, а файлы довольно большие.

Попробуй сделать это find'ом, и ты быстро придёшь к выводу, что проще использовать ad hoc решения, типа всяких там интересных опций cp, которые позволяют условно копировать файлы. Если конечно в списке опций cp есть набор, позволяющий выполнить нужную тебе операцию над множествами. Или ещё проще даже забить болт, и сделать cp -r dir1/* dir2/, забив на ненужные копирования файлов. Ну будет оно 10-20-30 лишних минут копировать, и чё? Зато не надо 10 минут возиться с сочинением злой командной строки, покуривая между делом маны.

А если найденные файлы можно скормить языку, который умеет в sql, то... эмм... А нужен ли нам вообще в системе find? Нужен ли нам du? Может там ещё пяток утилит, которые можно выкинуть? И ещё можно будет опции cp прочистить, избавив его от всех этих условных копирований. Оставить только то, что часто используется, и поэтому удобно иметь аббревиатуры,

>[оверквотинг удален]
> в каком-то бинарном формате и произвольное число фронтендов, этот формат читающих?
> Если да, то это абсурд, потому что не понятно, зачем в этой
> схеме недо-find нужен вообще - можно же сразу читать данные с
> ФС, из самой программы, недо-find тут - избыточная абстракция.
>> Можно иметь несколько таких утилиток, с синтаксисами заточенными под разные случаи или вкусы.
> Можно, но не нужно.
>> И вот тогда это будет unix-way:
> Это будет оверинжиниринг.
>> я беру задачу, разбиваю  её на подзадачи, под каждую подзадачу выбираю ту утилиту, которая лучше всего на неё заточена, после чего комбинирую эти утилиты в единую командную строку и получаю результат.
> А где грань разумности?

Задача фильтрации информации -- это вещь, которая нужна везде и постоянно. Вынести её в отдельную утилиту, которая умеет _хорошо_ фильтровать: сам бог велел.

>> Если же поисковой синтаксис прибит гвоздями к find, то выбора уже не остаётся.
> Всё так. Но синтаксис не является признаком "юниксвейности".

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


"Представлена новая командная оболочка nushell"
Отправлено Дон Ягон , 01-Сен-19 16:50 
> Но когда она будет нужна, я не смогу использовать find с sql. Мне придётся выёживаться мухой на стекле, чтобы получить csv, который затем можно будет затолкать в sqlite, чтобы затем сделать оттуда выборку.

Ключевой вопрос: а когда она будет нужна? Но безусловно, если есть регулярная задача, в которой нужно делать выборку по объектам ФС, да так хитро, что без SQL не обойтись - это повод написать своё, всецело устраивающее решение. Но не тянуть ничем не оправданные во всех прочих случаях костыли в стандартные утилиты.

> Мне не нужен find принимающий на вход sql. Всё что он должен принимать -- это список файлов/директорий, которые выданы ему шеллом.

Конечно, ведь это так эффективно - гонять данные от одного процесса к другому, особенно, когда нет никаких причин сразу не сделать всё во втором процессе.

> По-хорошему, он даже вообще не нужен, потому что это умеет ls, и рекурсивно обходить директории ls тоже умеет. Ещё du умеет обходить рекурсивно. Зачем нужен этот десяток реализаций рекурсивного обхода директорий, когда можно обойтись одним?

Скопипасть или вынеси в библиотеку. Проблема то.

> Да ладно, оверинжиниринг -- это find, в который напихали всё что нужно, всё что не нужно, и ещё немного.

Например, что? --delete? --ls? Ну да, это небольшое пренебрежение идеологией во имя практичности.
Но настолько очевидно нужное и тривиальное, что всерьёз к этому цепляться на мой взгляд - придирки.
find делает, в целом, ровно то, что должен - показывает те объекты дерева ФС, которые удовлетворяют описанным опциями командной строки требованиями.

>> Ей богу, я могу придумать только какую-то оторваную от реальности жесть, чтобы sql в find был оправдан. В обычных задачах пользы от этого не будет.
> Есть две директории, в них много одинаковых файлов, но есть разные, я хочу создать третью директорию как объединение/пересечение/дополнение/любая-другая-операция-над-множествами из этих двух. В идеале даже сделать так, чтобы из одной из первых двух была бы сделана "третья", минимальным копированием файлов, потому что она находится на тормозном внешнем носителе, а файлы довольно большие.

Ну я и говорю: высосанная из пальца жесть. Которую даже ценителям надо делать один раз в жизни.
Конечно, это повод делать из простой и быстрой утилиты комбайн.

> Попробуй сделать это find'ом, и ты быстро придёшь к выводу, что проще использовать ad hoc решения, типа всяких там интересных опций cp, которые позволяют условно копировать файлы. Если конечно в списке опций cp есть набор, позволяющий выполнить нужную тебе операцию над множествами. Или ещё проще даже забить болт, и сделать cp -r dir1/* dir2/, забив на ненужные копирования файлов. Ну будет оно 10-20-30 лишних минут копировать, и чё? Зато не надо 10 минут возиться с сочинением злой командной строки, покуривая между делом маны.

Конечно же я не буду решать эту задачу find'ом. Есть же rsync.

> А если найденные файлы можно скормить языку, который умеет в sql, то... эмм... А нужен ли нам вообще в системе find? Нужен ли нам du? Может там ещё пяток утилит, которые можно выкинуть? И ещё можно будет опции cp прочистить, избавив его от всех этих условных копирований. Оставить только то, что часто используется, и поэтому удобно иметь аббревиатуры,

А с чего ты решил, что твоя конструкция вообще будет эффективнее? Она также обойдёт ВСЕ файлы в директориях и потрогает диск столько же раз.
Замена N маленьких приложений на один комбайн - действие противоположное "юниксвею" по смыслу.

> Задача фильтрации информации -- это вещь, которая нужна везде и постоянно. Вынести её в отдельную утилиту, которая умеет _хорошо_ фильтровать: сам бог велел.

1) Такие утилиты уже есть.
2) Отрывать функционал фильтрации там, где он действительно нужен - вредительство и больше ничего. Наличие ограниченного функционала фильтрации где-то не отменяет утилит из пункта 1.

>>> Если же поисковой синтаксис прибит гвоздями к find, то выбора уже не остаётся.
>> Всё так. Но синтаксис не является признаком "юниксвейности".
> Ой, ну давайте теперь будем жонглировать словами, играя в самую низкопошибную демагогию. Я уже третий? четвёртый? раз объясняю что я имею в виду? Не надо делать вид, что ты до сих пор не понял.

По тексту моих ответов ты мог бы и сообразить, что я тебя понял.
Только я продолжаю утверждать, что то, чего хочешь ты не имеет отношения к "unix way".

PS: Идеология должна служить коллективу, а не коллектив идеологии. Иначе это уже тоталитарная секта, а не коллектив.


"Представлена новая командная оболочка nushell"
Отправлено Ordu , 01-Сен-19 19:42 
>> Мне не нужен find принимающий на вход sql. Всё что он должен принимать -- это список файлов/директорий, которые выданы ему шеллом.
> Конечно, ведь это так эффективно - гонять данные от одного процесса к
> другому, особенно, когда нет никаких причин сразу не сделать всё во
> втором процессе.

Если нужна эффективность, то тебе не нужен shell -- интерпретатор на интерпретаторе, интерпретатором погоняет. Тебе нужна программа на C. Эффективность -- это к компилируемым языкам, а интерпретаторы -- это для того, чтобы быстро слепить.

> Скопипасть или вынеси в библиотеку. Проблема то.

Угу. И где это сделано кроме как в busybox?

>> Да ладно, оверинжиниринг -- это find, в который напихали всё что нужно, всё что не нужно, и ещё немного.
> Например, что? --delete? --ls? Ну да, это небольшое пренебрежение идеологией во имя
> практичности.

Прикинь, я даже не знал про такие опции, я постоянно пользовался фишкой: -exec rm {} \;. Про ортогональность API разработчики find тоже ничего не слышали?

> Но настолько очевидно нужное и тривиальное, что всерьёз к этому цепляться на
> мой взгляд - придирки.

Вот Реймонд тоже так считает. Когда что-то буквально следует его принципам unix way, он говорит, что это победа unix way. Когда что-то самым гнусным образом нарушает эти принципы, он говорит, что это придирки, практичность важнее, и поэтому это тоже победа unix-way. Поэтому я и говорю, что вся концепция unix-way (её ведь Реймонд назвал словами "unix way" и сформулировал, так?) -- это гнилой политический базар.

> find делает, в целом, ровно то, что должен - показывает те объекты
> дерева ФС, которые удовлетворяют описанным опциями командной строки требованиями.

И он совершенно был бы не нужен, если бы в unix-овом шелле был бы предусмотрен стандартный метод передачи табличных данных через пайп.

>>> Ей богу, я могу придумать только какую-то оторваную от реальности жесть, чтобы sql в find был оправдан. В обычных задачах пользы от этого не будет.
>> Есть две директории, в них много одинаковых файлов, но есть разные, я хочу создать третью директорию как объединение/пересечение/дополнение/любая-другая-операция-над-множествами из этих двух. В идеале даже сделать так, чтобы из одной из первых двух была бы сделана "третья", минимальным копированием файлов, потому что она находится на тормозном внешнем носителе, а файлы довольно большие.
> Ну я и говорю: высосанная из пальца жесть. Которую даже ценителям надо
> делать один раз в жизни.

Не высосанная из пальца жесть. Это один из случаев с которыми я сталкивался. Да, именно с таким случаем я сталкивался единожды. Но я сталкивался с десятками других единичных случаев, когда я реально задумывался о том, что вся эта хвалёная "гибкость" командной строки заканчивается сразу же, как только я сталкиваюсь с неповседневной задачей.

> Конечно же я не буду решать эту задачу find'ом. Есть же rsync.

Во-во. Ещё один ман с тысячью опций. И на каждую специфическую задачу по ещё одному man'у.

> А с чего ты решил, что твоя конструкция вообще будет эффективнее? Она
> также обойдёт ВСЕ файлы в директориях и потрогает диск столько же
> раз.

Смотря что с чем сравнивать. С cp, например, простейшим решением может оказаться копировать файлы безусловно, даже если я копирую копию файла в него самого. Есть два файла, совпадающих бит-в-бит, но я тем не менее копирую один в другой, дабы не плодить себе специальных случаев для обработки при написании командной строки.

> Замена N маленьких приложений на один комбайн - действие противоположное "юниксвею" по
> смыслу.

Во-во. Я о том же.

>> Задача фильтрации информации -- это вещь, которая нужна везде и постоянно. Вынести её в отдельную утилиту, которая умеет _хорошо_ фильтровать: сам бог велел.
> 1) Такие утилиты уже есть.

Пример?
grep? Ха-ха.
awk? Он так и не научился в заголовки столбцов, их так и приходится отсчитывать на пальцах, чтобы выбрать нужный. Да и синтаксис его совершенно не совместим с shell'ом, приходится жестоко экранировать. Ну, и мне не нравится, то, что в awk не стоит умолчательного действия "вывести совпадающую строку".
R? R умеет в заголовки столбцов, но вот несовместимость синтаксиса с шеллом остаётся. Плюс он ещё менее awk заточен на использование в составе более сложной команды.

> 2) Отрывать функционал фильтрации там, где он действительно нужен - вредительство и
> больше ничего.

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


>>>> Если же поисковой синтаксис прибит гвоздями к find, то выбора уже не остаётся.
>>> Всё так. Но синтаксис не является признаком "юниксвейности".
>> Ой, ну давайте теперь будем жонглировать словами, играя в самую низкопошибную демагогию. Я уже третий? четвёртый? раз объясняю что я имею в виду? Не надо делать вид, что ты до сих пор не понял.
> По тексту моих ответов ты мог бы и сообразить, что я тебя понял.

И тем не менее написал "синтаксис не является признаком юниксвейности". Зачем? Чтобы я усомнился в том, что ты меня понимаешь? Или чтобы я увидел, что ты умеешь в демагогию? Или чтобы была возможность поговорить со мной о демагогии, уведя разговор в сторону? Или зачем? Какую конкретно цель ты преследовал этой фразой?

> Только я продолжаю утверждать, что то, чего хочешь ты не имеет отношения к "unix way".

Давай уточним. Что ты понимаешь под unix-way? То что описал Раймонд в TAOUP? Естественно, что то, что я говорю, не имеет отношения к TAOUP. Я бы себя уважать перестал, если бы оно имело бы отношение. Вот если взять TAOUP, выкинуть оттуда всю воду, разборы конкретных случаев, и оставить исключительно два-три принципа, и ещё две-три цели, которых unix-way пытается достичь, следуя этим принципам. Затем заявить, что эти принципы требуют неукоснительного выполнения, а отклонения от них -- это отклонения от unix-way, то получится декларация, которая уместится в трёх абзацах. К ней можно приложить несколько страниц более развёрнутого описания, и вот тогда, может быть, я и соглашусь с тем, что получится. Смотря что именно будет в том списке принципов. А TAOUP, может быть и описывает unix-way, но если так, то тогда нахрен он нужен такой unix-way? Зигмунд Фройд бы, чётко определил бы TAOUP в тяжкий случай психологической защиты под названием рационализация. Мне не нужны многостраничные высеры порождённые действием психологических защит.

> PS: Идеология должна служить коллективу, а не коллектив идеологии. Иначе это уже
> тоталитарная секта, а не коллектив.

Идея unix-way служит исключительно политическим целям. Никаких технических целей она решить не в состоянии. Тебе интересна политика? Мне интересна, но все эти насквозь прогнившие идеологии единственное предназначение которых пудрить мозги широким массам я изучаю исключительно чтобы лучше понять ущербности мышления широких масс. Других применений им я не могу найти.


"Представлена новая командная оболочка nushell"
Отправлено Дон Ягон , 02-Сен-19 02:56 
> Если нужна эффективность, то тебе не нужен shell -- интерпретатор на интерпретаторе, интерпретатором погоняет. Тебе нужна программа на C. Эффективность -- это к компилируемым языкам, а интерпретаторы -- это для того, чтобы быстро слепить.

Это совершенно не повод всё усугублять. Считать иначе - странно. Будь все программы, которые предполагается объединять в конвеер толстыми и неэффективными, пользоваться ими в стиле unix-way было бы просто невозможно.

> Угу. И где это сделано кроме как в busybox?

Подсказываю: нигде особенно не делают не потому что не знают, что так можно и/или не умеют. А в busybox есть требование к объёму.

> Прикинь, я даже не знал про такие опции, я постоянно пользовался фишкой: -exec rm {} \;. Про ортогональность API разработчики find тоже ничего не слышали?

Без понятия. Но наличие такой опции в find - логично, правильно и последовательно, чтобы ты там не говорил. Что за любовь к ничем не оправданным fork + exec, блин?

>> Но настолько очевидно нужное и тривиальное, что всерьёз к этому цепляться на мой взгляд - придирки.
> Вот Реймонд тоже так считает.

Почему тебя это вообще волнует? Реймонд - бесполезный горлопан и к принципам unix-way имеет очень мало отношения - по сути, он примазался к тому что уже было сформулировано до него. Смотри да хотя бы википедию.

> Когда что-то буквально следует его принципам unix way, он говорит, что это победа unix way. Когда что-то самым гнусным образом нарушает эти принципы, он говорит, что это придирки, практичность важнее, и поэтому это тоже победа unix-way.

Самым гнусным образом? Нет, не согласен.
Краеугольный камень в философии UNIX - это принцип KISS. Наличие опций вроде -delete и -ls в find не сильно усложняют код (по очевидным причинам) и сильно упрощают решение некоторых задач.
Задача программ - решать те или иные задачи в той или иной среде, а не соответствовать всем заповедям unix-way.

> Поэтому я и говорю, что вся концепция unix-way (её ведь Реймонд назвал словами "unix way" и сформулировал, так?) -- это гнилой политический базар.

Нет, это не так. И вообще, строгих заповедей нет. Реймонд (кажется) сказл как раз про то, что unix-way - это, в целом, KISS. Но он именно сформулировал, т.е. сказал то, что уже делалось по-факту. На мой взгляд, вот лучшая формулировка философии unix:
"Even though the UNIX system introduces a number of innovative programs and techniques, no single program or idea makes it work well. Instead, what makes it effective is the approach to programming, a philosophy of using the computer. Although that philosophy can't be written down in a single sentence, at its heart is the idea that the power of a system comes more from the relationships among programs than from the programs themselves. Many UNIX programs do quite trivial things in isolation, but, combined with other programs, become general and useful tools."

К DOTADIW Реймонд не имеет никакого отношения.

>> find делает, в целом, ровно то, что должен - показывает те объекты дерева ФС, которые удовлетворяют описанным опциями командной строки требованиями.
> И он совершенно был бы не нужен, если бы в unix-овом шелле был бы предусмотрен стандартный метод передачи табличных данных через пайп.

В теории - да.  А на практике.. А на практике быстро захочется не "стандартный метод передачи табличных данных", а как в powershell - когда всё, что передаётся через "пайп" объект.
Круто? С одной стороны - да. Например, потому что имена файлов с пробелами перестанут быть хоть какой-то проблемой. А с другой стороны, это полный ад, потому что использовать shell интерактивно становится почти невозможно. И из-за многословности и из-за того, что каждый отдельный случай требует помнить, какой объект возвращает та или иная команда и какие методы к этому объекту применимы есть.
Сравни, например, создание структуры директорий, аналогичной имеющейся (код для PS не мой):
find . -type d -exec mkdir -p /new/path/{} \;
и
cd $oldDir
Get-ChildItem ./ -Recurse -Directory |Resolve-Path -Relative |ForEach-Object {New-Item -ItemType Directory $newDir/$_}

Нужно ли тут что-то добавлять, или и так всё понятно?

> Не высосанная из пальца жесть. Это один из случаев с которыми я сталкивался. Да, именно с таким случаем я сталкивался единожды. Но я сталкивался с десятками других единичных случаев, когда я реально задумывался о том, что вся эта хвалёная "гибкость" командной строки заканчивается сразу же, как только я сталкиваюсь с неповседневной задачей.

Всё правильно. Unix-way, это не про универсальные тулзы, могущие всё и даже больше, а про возможность собрать из простых утилит конвеер, который решит твою проблему. Иногда уродливый конвеер, да.
Именно в этом и заключается гибкость - недостающий в утилите функционал реализуется другими программами в конвеере.

> Во-во. Ещё один ман с тысячью опций. И на каждую специфическую задачу по ещё одному man'у.

А как ты хотел? Если через пайпы будут гоняться объекты, а не текст, маны придётся читать ещё чаще, к слову.

>> А с чего ты решил, что твоя конструкция вообще будет эффективнее? Она также обойдёт ВСЕ файлы в директориях и потрогает диск столько же раз.
> Смотря что с чем сравнивать. С cp, например, простейшим решением может оказаться копировать файлы безусловно, даже если я копирую копию файла в него самого. Есть два файла, совпадающих бит-в-бит, но я тем не менее копирую один в другой, дабы не плодить себе специальных случаев для обработки при написании командной строки.

Я сравнивал с не существующей конструкцией "недо-find + нечто, умеющее фильтровать и парсить sql".
Но в любом случае, тебе тогда был нужен rsync, судя по тому, что ты описал.

>> Замена N маленьких приложений на один комбайн - действие противоположное "юниксвею" по смыслу.
> Во-во. Я о том же.

Нет. Я понимаю, что, в теории, ты хочешь утилиту которая умеет рекурсивно обходить директории, которая передаёт всё в фильтратор, который уже передаёт всё в удалятор/переименоватор/что-то ещё.
Но на практике это жестокая жесть и верховенство идеологии над здравым смыслом.
Условное "find ./ | xargs rm -f" вместо "rm -fr ./" - это УЖОС и оверинжиниринг в чистом виде.
Простые вещи должны делаться просто.
Твоя конструкция решает только одну проблему: буквальное соответствие принципу DOTADIW.
Никакие практические проблемы не решаются. Более того, облегчив донельзя условные find и rm мы приходим не только к тому, что удаление директории теперь делается двумя командами, а не одной, но и к тому, что если мы захотим воткнуть в эту схему фильтратор между find'ом и rm'ом, то, в отличие от кастрированных find и rm, фильтратор обречён быть переусложнённым комбайном. Почему? Потому что он должен уметь фильтровать ВСЕ типы объектов, которые подаются ему на вход. Уметь понимать, какие объекты можно друг с другом сравнивать, какие нет. Уметь достаточно сложные выражения. Да много чего ещё должен будет уметь.

>> 1) Такие утилиты уже есть.
> Пример?
> grep? Ха-ха.
> awk? Он так и не научился в заголовки столбцов, их так и приходится отсчитывать на пальцах, чтобы выбрать нужный. Да и синтаксис его совершенно не совместим с shell'ом, приходится жестоко экранировать. Ну, и мне не нравится, то, что в awk не стоит умолчательного действия "вывести совпадающую строку".

Да, например, grep, awk, sed. Perl/python как вариант, хотя это уже часто повод сразу на них и написать.
Снова повторяю: юниксвей - это не когда у тебя одна тулза на все случаи жизни, а когда ты из кучи можешь слепить то, что решает твою проблему.
Серебряной пули всё равно не существует, предположение о том, что мы можем написать универсальный фильтратор на все случаи жизни - ложно. И дело не в синтаксисе, хоть с sql, хоть c R - всё равно их рано или поздно не хватит. Или хватит, но только уродливой конструкцией. Это, кстати, при том, что бОльшую часть времени это будет избыточный и неиспользуемый функционал.

>> 2) Отрывать функционал фильтрации там, где он действительно нужен - вредительство и больше ничего.
> Это утверждение, которое необосновано ничем. В этом треде никто ни разу не высказал ни единого слова, которое можно было бы считать аргументом в пользу этого утверждения.

Оно обосновано принципом KISS и нежеланием городить избыточные абстракции. См. выше примеры про powershell и про find + rm.

> И тем не менее написал "синтаксис не является признаком юниксвейности". Зачем? Чтобы я усомнился в том, что ты меня понимаешь? Или чтобы я увидел, что ты умеешь в демагогию? Или чтобы была возможность поговорить со мной о демагогии, уведя разговор в сторону? Или зачем? Какую конкретно цель ты преследовал этой фразой?

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

> Давай уточним. Что ты понимаешь под unix-way?

Принципы проектирования приложений, главным образом, для использования в базовой поставке unix-like систем.

> То что описал Раймонд в TAOUP?

Знаком с этими принципами (по раймонду) только в рамках страницы на русскоязычной вики.
Вот этой: https://ru.wikipedia.org/wiki/%D0%A4%D0%...

Для меня юниксвейность всегда была тем, что там описано в начале (авторство - Дуг Макилрой).
И - самое главное - это _философия_ unix, а не заповеди, которым нужно следовать с неистовством религиозных фанатиков. Реймонд, на мой взгляд, прав только про KISS, но как по мне, его неправильно считать основоположником этого принципа хоть в какой-то мере.

> что эти принципы требуют неукоснительного выполнения, а отклонения от них -- это отклонения от unix-way

Понимаю, почему у тебя так бомбит даже не читая дальше. Конечно, пересказанное тобою - трэш.

> Зигмунд Фройд бы, чётко определил бы TAOUP в тяжкий случай психологической защиты под названием рационализация.

Вполне возможно. Я не читал. В целом, Реймонд воспринимается мной как балабол, который очень много говорит и советует, но не понятно, что на самом деле сделал нужного.

> Мне не нужны многостраничные высеры порождённые действием психологических защит.

Так игнорируй. И "Закон Линуса" и "Собор и Базар" реймонда - графоманские высеры, например, почему я не удивлён, что TAOUP, судя по всему, тоже?
Немного не в тему, но освежая в википедии память о реймонде не смог не заржать в голос с этого: "Реймонд — активный либертарианец (также называет себя политическим анархистом), имеет чёрный пояс в тхэквондо, он неоязычник и выступает за право носить и использовать огнестрельное оружие."
Неплохо так у чувака в голове намешано, да?)

> Идея unix-way служит исключительно политическим целям. Никаких технических целей она решить не в состоянии. Тебе интересна политика? Мне интересна, но все эти насквозь прогнившие идеологии единственное предназначение которых пудрить мозги широким массам я изучаю исключительно чтобы лучше понять ущербности мышления широких масс. Других применений им я не могу найти.

Unix-way - это философия написания простых и практичных программ. Ограниченно применимая.
Хотя это конечно как посмотреть. Для кого-то это религия или полит. идеология.
Вот это мне как раз (в конексте юниксвея) не интересно.
Ущербность мышления - считать, что unix-way (или любая иная философия проектирования чего-либо, сформулированная сложнее чем KISS) должна беспрекословно соблюдаться. Например, и vi и top появились ещё в ТЕ времена, формально являются нарушением "строгого" unix-way, но ничего от этого не случилось. И их даже нельзя назвать такими уж комбайнами (прим. - vi, но не vim).


"Представлена новая командная оболочка nushell"
Отправлено Ordu , 02-Сен-19 10:09 
>> что эти принципы требуют неукоснительного выполнения, а отклонения от них -- это отклонения от unix-way
> Понимаю, почему у тебя так бомбит даже не читая дальше. Конечно, пересказанное
> тобою - трэш.

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

При этом, ты можешь сколько угодно демонстративно отрекаться от Эрика Раймонда, но ты сейчас делаешь ровно то же самое, что и он. _Ровно_ то же самое. И все эти отречения таким образом, яйца выеденного не стоят.

find можно делать как угодно, так как ты считаешь это удобным, но не надо считать что автоматические будет получаться так, что всё, что удобно тебе -- это unix-way. Тебе хочется всего и сразу, и иметь принципы, и делать всё что захочется, всё что ты считаешь удобным. Но так не бывает. Если твои принципы никак не ограничивают тебя, то это не принципы. Если всё, на что твои принципы способны -- это рационализировать статус кво, то это не принципы, а рационализация. Рационализация же совершенно бесполезна в инженерном смысле, она может быть полезна в психологическом/политическом смыслах, но в техническом она бесполезна и даже вредна.


"Представлена новая командная оболочка nushell"
Отправлено Дон Ягон , 02-Сен-19 18:10 
>>> что эти принципы требуют неукоснительного выполнения, а отклонения от них -- это отклонения от unix-way
>> Понимаю, почему у тебя так бомбит даже не читая дальше. Конечно, пересказанное тобою - трэш.
> Нет, не понимаешь. Пытаться на принципах созданных в популистских целях -- это абсолютно ущербный подход. Не принципы надо гнуть под реализацию, а реализацию под принципы. Если ты гнёшь принципы, то это называется беспринципность, или отсутствие принципов.

Какие принципы? Где ты такое слово-то нашёл? Сам сказал - сам опроверг - очень удобно.
Речь о филососфии unix, о ПОДХОДЕ к проектированию, а не о заповедях, сколько раз это нужно повторить, чтобы ты меня услышал?
Вот например, философия archlinux - rolling релизы и стремление поддерживать всегда актуальные версии. Если в archlinux откладывается попадание какого-то обновления, например, из-за того, что там есть баг или уязвимость - это не значит, что они нарушают какие-то принципы или попирают философию. Это значит, что они не являются тупыми фанатиками.
Ты же выставляешь тупейшую форму фанатизма не то что за норму, а за идеальное положение вещей.
"Принципы" проектирования unix были написаны постфактум и отражали реальное положение вещей, а не наоборот - никто не писал юникс по заранее написаным канонам. Философия появилась после, как попытка понять, почему юникс так выстрелил.

tl;dr - все твои претенезии исключительно от извращённого понимания того, что есть unix-way.

> При этом, ты можешь сколько угодно демонстративно отрекаться от Эрика Раймонда, но ты сейчас делаешь ровно то же самое, что и он. _Ровно_ то же самое. И все эти отречения таким образом, яйца выеденного не стоят.

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

> find можно делать как угодно, так как ты считаешь это удобным, но не надо считать что автоматические будет получаться так, что всё, что удобно тебе -- это unix-way.

Я так и не считаю. Цитату, где я пишу так в студию.

> Тебе хочется всего и сразу, и иметь принципы, и делать всё что захочется, всё что ты считаешь удобным. Но так не бывает.

Нет. Во-первых, я уже написал, что принципы - это твоя выдумка и больше ничего. Далее я написал, что "принципы" - это не заповеди, а потому строгое следование им не требуется.
В третьих, я сразу ограничил область применения "юникс-подхода" - 1) он хорош там, для чего был создан и в аналогичном 2) он по-определению предполагает не программы-комбайны, а совмещение возможностей нескольких программ. Даже если одной программой-комбайном удобнее.
("Фильтратор" в твоей конструкции именно комбайн. А find и rm - бесполезные, неюзабельные обрубки.)
Так что врать не надо.

> Если твои принципы никак не ограничивают тебя, то это не принципы.

"Юникс-вей" - это и не принципы. И не заповеди. Сколько ещё раз я должен это повторить?

> Если всё, на что твои принципы способны -- это рационализировать статус кво, то это не принципы, а рационализация.

Нет, это философия, пытающаяся сформулировать подходы к написанию простых и универсальных решений.
Рационализация? Блин, АБСОЛЮТНО ВСЁ ПРОГРАММИРОВАНИЕ ЭТО РАЦИОНАЛИЗАЦИЯ!
Никто, кроме ПОЕХАВШИХ не пишет программы ради того, чтобы они соответствовали какой-то идеологии!
Юникс был написан чтобы РАБОТАТЬ, а не чтобы соответствовать unix-way!
Если проблему невозможно эффективно решить следуя каким-то "принципам", а проблему решать нужно, значит нужно накласть на все "принципы", "заповеди" и весь прочий сектантский бред и ДЕЛАТЬ.
Не знаю, замени слово "принципы" на "рекомендации", может так тебя отпустит.

> Рационализация же совершенно бесполезна в инженерном смысле, она может быть полезна в психологическом/политическом смыслах, но в техническом она бесполезна и даже вредна.

А я утверждаю противоположное. Программы должны решать проблемы пользователя, максимально удобным и универсальным способом. Таким был unix, поэтому подход, с которым его делали в той или иной мере стараются воспроизводить и по сей день.
При этом, ни одна идея-расширение "юниксвея", типа повершелла по-настоящему так и не выстрелила. Нишевый, мало кому нужный продукт.


"Представлена новая командная оболочка nushell"
Отправлено Ordu , 02-Сен-19 23:00 
> Речь о филососфии unix, о ПОДХОДЕ к проектированию, а не о заповедях,
> сколько раз это нужно повторить, чтобы ты меня услышал?

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


> Вот например, философия archlinux - rolling релизы и стремление поддерживать всегда актуальные
> версии.

Это не философия. Это способ реализовать миссию дистрибутива. Миссию с некоторой натяжкой можно назвать философией. Наверное можно. Я не знаю, что там думают разработчики ArchLinux о том, зачем их дистрибутив существует, то есть я могу лишь из самых общих соображений предполагать, в чём собственно их миссия.

>> При этом, ты можешь сколько угодно демонстративно отрекаться от Эрика Раймонда, но ты сейчас делаешь ровно то же самое, что и он. _Ровно_ то же самое. И все эти отречения таким образом, яйца выеденного не стоят.
> Мне очень смешно это читать.
> Вместо того, чтобы как-то по-существу возразить мне, ты обвинил меня в том,
> что я делаю что-то как чел в книге, которую я не
> читал.

То есть ты не только не можешь понять претензий к Раймонду, ты даже не замечаешь этих претензий? Любопытно.


"Представлена новая командная оболочка nushell"
Отправлено Дон Ягон , 03-Сен-19 01:02 
>> Речь о филососфии unix, о ПОДХОДЕ к проектированию, а не о заповедях, сколько раз это нужно повторить, чтобы ты меня услышал?
> Когда каждый использует свои собственные подходы -- это значит, что нет никаких единых подходов. Каждый городит кто во что горазд.

Подходы, или рекомендации к написанию программ существуют, только они не являются религиозными.
Уровень абстракции должен выбираться осознанно - мы не оборачиваем все сисколы функциями обёртками - следовательно, помимо соответствия "юниксвейности" (в той или иной степени) есть ещё какие-то критерии, определяющие дизайн приложения. Не так ли?

>> Вот например, философия archlinux - rolling релизы и стремление поддерживать всегда актуальные версии.
> Это не философия. Это способ реализовать миссию дистрибутива. Миссию с некоторой натяжкой можно назвать философией. Наверное можно.

А это уже софистика.
Философия archlinux (которую я почерпнул из сегодняшней новости про Кроа-Хартмана) это того же рода "философия", как и "философия unix". При желании можно заменить "философия archlinux" на "принципы archlinux" - суть моего посыла от этого не меняется.
Если арчедевелоперы отошли от своих "принципов" во имя объективных причин, они не беспринципные, а просто не фанатики.
Их "философия", "принципы" - это ориентир, цель, к которой нужно, по-возможности, стремиться. Вектор движения.
C "юниксвеем" всё аналогично.

>>> При этом, ты можешь сколько угодно демонстративно отрекаться от Эрика Раймонда, но ты сейчас делаешь ровно то же самое, что и он. _Ровно_ то же самое. И все эти отречения таким образом, яйца выеденного не стоят.
>> Мне очень смешно это читать.
>> Вместо того, чтобы как-то по-существу возразить мне, ты обвинил меня в том, что я делаю что-то как чел в книге, которую я не читал.
> То есть ты не только не можешь понять претензий к Раймонду, ты даже не замечаешь этих претензий? Любопытно.

Как я могу понять претензии к Реймонду, если я не читал TAOUP?
Может оставим его уже в покое? Кто угодно может сформулировать свои личные "принципы" юниксвея, но свершенно не понятно, почему мы должны обращать на это внимание. Всё было сформулировано задолго до Раймонда и без его помощи.
Какой вообще вклад Раймонда в опенсорс? Писал код в fetchmail и emacs? Написал эссе в котором технично вылизывает жопу Торвальдсу? Блин, его принципы unix были сформулированы, судя по дате выхода книги, в 2002 году, когда никакого юникса (в изначальном виде) уже толком и не было.
Я правда не понимаю, почему нужно обсуждать его, что бы там он не писал.
Но если и нужно, то с тем, кто читал. Со мной можно собор и базар, например, обсудить, если так хочется про Реймонда.

Но я, кстати, действительно в одном месте неверно тебя понял, а именно:
> эти принципы требуют неукоснительного выполнения, а отклонения от них -- это отклонения от unix-way

Я думал, что ты обвиняешь Реймонда в том, что он определил где-то строгие принципы unix-way, а потом рассказывает, что нарушать их тоже unix-way.
Но нет, этого, судя по всему, хочешь ты. И конечно же, ты тотально неправ в своих желаниях, это какой-то предельно оторванный от жизни идеализм. Когда программы пишут не исходя из потребностей, а из идеологии получается прокрустово ложе.
Могу тут сослаться на нелюбимого мной Торвальдса: "Теория и практика иногда сталкиваются. Когда это случается, теория проигрывает. Всегда.".
Именно поэтому круто, что "unix-way" - это культурные нормы и подходы к разработке ПО, а не жёстко  прописанные правила, нарушение которых карается расстрелом. Эти нормы и подходы сформировались естественным путём и постфактум, в ходе написания ПО. И они отражают то, как удобно делать на практике, по-настоящему, а не на бумаги.
Если Реймонд выступает за это же, то он прав, с какой бы насмешкой я бы не относился к нему за собор и базар и тысячи глаз, которые обязательно не пропустят ошибку в коде. Но судя по википедии, всё же нет, он не про это; он просто графоман. Но всё же - я не читал TAOUP.


"Представлена новая командная оболочка nushell"
Отправлено Анонимный Алкоголик , 02-Сен-19 05:35 
Транслятор с языка Ада кстати тоже не нарушает увэй...

"Представлена новая командная оболочка nushell"
Отправлено Ordu , 02-Сен-19 10:10 
> Транслятор с языка Ада кстати тоже не нарушает увэй...

Не нарушает. Но он не заточен под использование вместо шелла.


"Представлена новая командная оболочка nushell"
Отправлено Анонимный Алкоголик , 05-Сен-19 05:44 
Ну и find вообще-то вместо shell будет как-то неостёр...

"Представлена новая командная оболочка nushell"
Отправлено Аноним84701 , 29-Авг-19 21:33 
> Вообще это юнихвей, когда одна программа делает одно действие и делает это хорошо.

Нет, это просто удачно легло на приведенный пример.
А если нужно было бы отфильтровать вывод пакетного менеджера, статистику сетевой карты и т.д.?

Возможность передачи и работы с структурированными данными - следущая ступень, IMHO.
К тому же, оно позволяет более  "юнихвейный юнихвей" - т.к. более универсально/генерализированно, да и не нужно долбиться со всякими особыми случаями из-за экранирования, пробелов/разделителей, неполных строк и прочего.

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


"Представлена новая командная оболочка nushell"
Отправлено Аноним , 30-Авг-19 10:34 
структурированные и типизированные данные - это круто, да.
но дотнет - говно, а раст.. не понятно.

"Представлена новая командная оболочка nushell"
Отправлено Wilem , 29-Авг-19 22:55 
Разница между nu-ls и find это не вопрос синтаксиса. К бешу это сравнение вообще не применимо, тк он не умеет инфу о файлах загружать. Find - это не беш.

Тут речь про общий подход - единый формат данных и один раз выученные операции работы с абсолютно любыми данными в этом формате. Это проще понять и запомнить. Меняться будут только источники данных.


"Представлена новая командная оболочка nushell"
Отправлено corvuscor , 29-Авг-19 12:29 
Не, ну табличный разбор вывода - это норм тема.
Кто знает, такое к башу прикрутить можно?

"Представлена новая командная оболочка nushell"
Отправлено Аноним , 29-Авг-19 12:40 
Баш скриптом.

"Представлена новая командная оболочка nushell"
Отправлено Аноним , 29-Авг-19 12:40 
awk

"Представлена новая командная оболочка nushell"
Отправлено aa , 29-Авг-19 12:41 
Если бы пользователи умели awk, grep и sed, программисты были б не нужны. (с) непомнюкто

"Представлена новая командная оболочка nushell"
Отправлено Andrey Mitrofanov_N0 , 29-Авг-19 12:43 
> Не, ну табличный разбор вывода - это норм тема.
> Кто знает, такое к башу прикрутить можно?

Я без понятия, какие-такие двоично-древовидные данные эти ваши повершелы таблично представляют, но....


| column -t


не Вам подойдёт?


"Представлена новая командная оболочка nushell"
Отправлено Michael Shigorin , 30-Авг-19 22:13 
Сходу вижу csvkit (но когда делали такие задачки, его ещё не было).

"Представлена новая командная оболочка nushell"
Отправлено Аноним , 29-Авг-19 12:56 
Идея хорошая, но не взлетит исключительно потому, что уже есть де-фактный стандарт в виде bash (sh-фанатики, даю установку триггернуться.)

"Представлена новая командная оболочка nushell"
Отправлено Crazy Alex , 29-Авг-19 15:02 
Идея хорошая (правда, далеко не новая). Реализация - дрянь.

"Представлена новая командная оболочка nushell"
Отправлено Wilem , 30-Авг-19 18:36 
> но не взлетит исключительно потому, что уже есть де-фактный стандарт

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


"Представлена новая командная оболочка nushell"
Отправлено Vitaliy Blats , 29-Авг-19 13:10 
> "ls | where size > 10kb"

Ахаха тупарылая хипстота.

Через пайп передавать выражение ? Символ > использовать не как перенаправление, а как арифметическое сравнение ?

Ни в жизни не поставлю это. Лучше уж куцый SH, нежели это непонятно как работающее гуано.



"Представлена новая командная оболочка nushell"
Отправлено Аноним , 29-Авг-19 13:39 
> Через пайп передавать выражение ?

Так grep "regex" чем тебе не выражение?

> Символ > использовать не как перенаправление, а как арифметическое сравнение ?

Вообще, это изначальный смысл символа. Даже в традиционных bash можно обойтись без него, используя что-то вроде tee. Следовательно, символ > в баше избыточен и являет собой лишь сахарок.

> в жизни не поставлю это.

Я тоже, потому что баша хватает, а нескучные скрипты на этом "нюшеле" не будут работать на любом утюге, как в случае с башем.


"Представлена новая командная оболочка nushell"
Отправлено Ordu , 29-Авг-19 13:53 
> Через пайп передавать выражение?

Не выражение, а структурированные данные. Не голый текст, который потом ты сам из командной строки вынужден разбирать, а структурированные данные. В данном случае табличку в которой есть столбец size. Этого достаточно для where для того, чтобы отфильтровать. Это то, чего не хватает в awk: отсчитывать на пальцах номера столбцов да ещё и писать фильтры отрезающие заголовки таблиц всегда раздражает.

И обрати внимание, where умеет в единицы измерения и умеет работать с human readable размерами. В bash получается так, что либо ты имеешь human readable числа, либо ты автоматизируешь работу с ними. Иметь сразу и то, и это можно, но дополнительными костылями. И это тоже очень неудобно, когда размеры файлов иногда имеют больше цифр, чем есть пальцев на руках, потому что пальцы на ногах неудобно использовать для счёта.


"Представлена новая командная оболочка nushell"
Отправлено Crazy Alex , 29-Авг-19 15:07 
Ну уж это всё точно мелочи. Не мелочи - это избавление от экранировок и независимость от смен кусков данных, которые тебя не касаются. Но пихать это в несовместимом виде (в том числе - и со знаком ">"б который в качестве перенаправления явно ценнее) - это суицид.

"Представлена новая командная оболочка nushell"
Отправлено Vitaliy Blats , 29-Авг-19 15:47 
> Не выражение, а структурированные данные. Не голый текст, который потом ты сам из командной строки вынужден разбирать, а структурированные данные.

Плевать как называется текст который передается через пайп.

Задача командной оболочки - комбинировать различные команды, желательно при этом следуя KISS (и это один из немногих KISS с которым я вендузятник, на 100% согласен). Не надо считать какие-то таблицы, вводить фильтры, отрезать заголовки. Надо всего лишь предоставить удобный интерфейс, чтобы программа A могла передать свой вывод программе B, они обе смогли передать свой вывод программе C, а программа C смогла посчитать это все, и вывести результат в файл.txt, а ошибки в ошибки.txt

Прелесть шелла именно в том, что я могу передать вывод cp, а могу и dd если захочу. Захочу буду юзать в скрипте curl, а если он чего-то не сможет - тогда wget. А здесь ? Стоит этому where чего-то не суметь - и все, скрипт превращается в тыкву.

Если чего-то не хватает в awk, тогда ты комбинируешь awk, grep, sed, bc и так далее, после чего переносишь свой скрипт с холодильника на кофеварку, и вуаля, он работает.

А здесь ...


[ntfs@brix ~]$ yaourt nushell
1 aur/nushell 0.2.0-4 (0) (0,00)
    A shell for the GitHub era
2 aur/nushell-bin 0.2.0-1 (1) (0,99)
    A shell for the GitHub era
3 aur/nushell-git r702.cd1e16d-4 (0) (0,00)
    A shell for the GitHub era
==> Enter n° of packages to be installed (e.g., 1 2 3 or 1-3)
==> ---------------------------------------------------------
==> 1


==> Downloading nushell PKGBUILD from AUR...
x .SRCINFO
x PKGBUILD
bbbenji commented on a href="#comment-705807" class="date">2019-08-27 07:39 /a            

nushell 0.2.0-4  (2019-08-26 00:55)
( Unsupported package: Potentially dangerous ! )
==> Edit PKGBUILD ? [Y/n] ("A" to abort)
==> ------------------------------------
==> n

==> nushell dependencies:
- openssl (already installed)
- zlib (already installed)
- rust-nightly (already installed) [makedepend]
- cargo (already installed) [makedepend]


==> Continue building nushell ? [Y/n]
==> ---------------------------------
==> y

==> Building and installing package
==> Making package: nushell 0.2.0-4 (чт, 29-сер-2019 15:43:48 +0300)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Downloading nushell-0.2.0.tar.gz...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   122    0   122    0     0    261      0 --:--:-- --:--:-- --:--:--   261
100 1799k    0 1799k    0     0   981k      0 --:--:--  0:00:01 --:--:-- 1606k
==> Validating source files with sha256sums...
    nushell-0.2.0.tar.gz ... Passed
==> Extracting sources...
  -> Extracting nushell-0.2.0.tar.gz with bsdtar
==> Starting build()...
==> Entering fakeroot environment...
==> Starting package()...
error: toolchain 'nightly-x86_64-unknown-linux-gnu' is not installed
==> ERROR: A failure occurred in package().
    Aborting...
==> ERROR: Makepkg was unable to build nushell.
==> Restart building nushell ? [y/N]
==> --------------------------------
==>

ГЫЫЫЫ, это даже на десктопную полноценную манжару не становится, а давай поговорим тогда о openwrt, быть может о freebsd или даже raspbian ?


"Представлена новая командная оболочка nushell"
Отправлено Ordu , 29-Авг-19 16:33 
>> Не выражение, а структурированные данные. Не голый текст, который потом ты сам из командной строки вынужден разбирать, а структурированные данные.
> Плевать как называется текст который передается через пайп.

Как называется -- плевать, а вот чем он является -- нет.

> Если чего-то не хватает в awk, тогда ты комбинируешь awk, grep, sed,
> bc и так далее,

Да да, я знаю, делаю это каждый день. Я лет пятнадцать назад решил, что это убожество, пробовал всякие там zsh, пробовал написал lisp-shell, но в конечном итоге забил, решив что овчинка выделки не стоит. PowerShell выглядел конфеткой, но на мой взгляд оверинжиниринг, и там депендансы просто ужос. Поэтому продолжаю пользоваться этими дурацкими ad hoc костылями, которые при помощи bash можно слепить в какую-то конструкцию, которая хотя бы раз отработает.

> после чего переносишь свой скрипт с холодильника на кофеварку, и вуаля, он работает.

Пример скрипта в студию, который ты последним переносил с холодильника на кофеварку.

> А здесь ...
>

 
> [ntfs@brix ~]$ yaourt nushell

Что такое yauort? cargo install nu не работает разве?


"Представлена новая командная оболочка nushell"
Отправлено кот в сапогах , 30-Авг-19 00:31 
> Если чего-то не хватает в awk, тогда ты комбинируешь awk, grep, sed, bc

Пример, пожалуйста, когда не хватает awk.


"Представлена новая командная оболочка nushell"
Отправлено Проходил мимо , 29-Авг-19 13:14 
Rust заточен на обработку строк в utf8. Интересно, как этот шелл будет работать в кириллических раскладках, отличных от юникода?

"Представлена новая командная оболочка nushell"
Отправлено Аноним , 29-Авг-19 13:41 
Тут один такой остался, кому это надо, saahriktu.

"Представлена новая командная оболочка nushell"
Отправлено Аноним84701 , 29-Авг-19 14:24 
> Rust заточен на обработку строк в utf8. Интересно, как этот шелл будет
> работать в кириллических раскладках, отличных от юникода?

Cудя по картинкам, в винде оно как-то работает. Или там уже юникод в терминал подвезли?


"Представлена новая командная оболочка nushell"
Отправлено Wilem , 30-Авг-19 18:49 
Старая консоль поддерживала и поддерживает UCS-2, то есть два байта на символ. Проблема как я понял в том, что UTF-8 это в худшем случае 4 байта, а значит полный UTF-8 отобразить не получится. Но например ввод и вывод русского+английского+чешского в одной строке работает. UTF-8 они пилят, но судя по блог-постам ещё не допилили, потому что пытаются не поломать старое.

"Представлена новая командная оболочка nushell"
Отправлено Аиксойд , 29-Авг-19 13:53 
При чтении различных логов будет удобно довольно )

"Представлена новая командная оболочка nushell"
Отправлено пийшелл , 29-Авг-19 14:01 
Ну не целый шелл же

"Представлена новая командная оболочка nushell"
Отправлено Аноним , 29-Авг-19 16:11 
Вот если они свою обработку вынесут в библиотеку, будет годно. А сам шел уже будет обёрткой над бибилиотекой. А над можно и что-то другое построить.

"Представлена новая командная оболочка nushell"
Отправлено Vitaliy Blats , 29-Авг-19 15:51 
> При чтении различных логов будет удобно довольно )

Не будет. Для чтения логов у нас есть бажецтвенный system с постраничным перелистыванием.


"Представлена новая командная оболочка nushell"
Отправлено анонимус , 29-Авг-19 14:37 
> В оболочке применяется привычная для пользователей Unix система конвейеров в формате "команда|фильтры|обработчик вывода".

Для пользователя Unix систем привычно, когда пайп создает неименованный канал между двумя процессами. А тут пайп - это видимо просто такой синтаксический сахар.


"Представлена новая командная оболочка nushell"
Отправлено Аноним , 29-Авг-19 14:56 
То есть в баше пайп это не синтаксический сахар, а самая что ни на есть низкоуровщина? Ниже только кварки с глюонами?

"Представлена новая командная оболочка nushell"
Отправлено user90 , 29-Авг-19 15:09 
FIFO

"Представлена новая командная оболочка nushell"
Отправлено пох. , 29-Авг-19 15:57 
ну в общем-то да, ниже уже только файловые дескрипторы.
man 2 pipe (или в "новом стандарте" уже нету?)


"Представлена новая командная оболочка nushell"
Отправлено Аноним , 29-Авг-19 21:53 
Фд - это высокоуровневое апи оси. Пайпы - нескучный смузи-синтаксис над фд-шками. Прув ми вронг.

И в баше, и в нюшеле пайпы не более чем смузи синтаксис. Эген, прув ми вронг


"Представлена новая командная оболочка nushell"
Отправлено Michael Shigorin , 30-Авг-19 22:24 
В шелле pipe -- это одна из основополагающих конструкций.

Синтаксический сахар, юноша -- это когда берём что-то зубодробительное и делаем его более мягким и пушистым.  При этом есть возможность обращения как с исходным _синтаксисом_, так и с "сахарным".

А теперь покажите, как Вы собрались делать в posix shell пайп без пайпа.  Нет, не на промежуточных файлах, а именно трубу.  То есть что именно считаете засахаренным.  В шелле, мальчик, в самом шелле.

Ну или найдите силы признать, что ляпнули глупость.  Умные ведь учатся хотя бы на своих ошибках, совсем не учатся только дураки.


"Представлена новая командная оболочка nushell"
Отправлено Annoynymous , 29-Авг-19 21:15 
Ни тебе снапа, ни тебе флатпака, ни тебе аппимиджа. Недостаточно хипстово!

"Представлена новая командная оболочка nushell"
Отправлено Аноним , 29-Авг-19 22:55 
В Unix shell всё есть текст. В PowerShell всё есть объект. А тут что?

"Представлена новая командная оболочка nushell"
Отправлено Аноним , 30-Авг-19 10:40 
а тут всё есть раст.

"Представлена новая командная оболочка nushell"
Отправлено пох. , 30-Авг-19 11:17 
> В Unix shell всё есть текст. В PowerShell всё есть объект.

э... вы не в курсе, как устроены эти его "объекты"? Тогда не буду огорчать, пребывайте в счастливом заблуждениИ, что хоть powershell написан руками и придуман головой.

>  А тут что?

херня тут. Ну и что? Зато на хрусте!



"Представлена новая командная оболочка nushell"
Отправлено Аноним , 30-Авг-19 19:01 
> вы не в курсе, как устроены эти его "объекты"?

Нет, конечно. Мне и так пришлось узнать о нём намного больше, чем хотелось.


"Представлена новая командная оболочка nushell"
Отправлено Аноним , 30-Авг-19 18:23 
Зачем потребовалось скрещивать shell с json-RPC?
Поклонникам shell нафиг не уперся json... поклонники json никогда не полезут в shell...

"Представлена новая командная оболочка nushell"
Отправлено Wilem , 30-Авг-19 18:54 
:) Реальный мир (где люди работу делают) нет никаких поклонников. Есть задачи и инструменты с помощью которых они решаются.

"Представлена новая командная оболочка nushell"
Отправлено Аноним , 30-Авг-19 20:05 
Серещивание shell с json - это однозначно не про реальный мир...

"Представлена новая командная оболочка nushell"
Отправлено Michael Shigorin , 30-Авг-19 22:25 
А потом поезда с рельс сходят у таких вот самоуверенных.

"Представлена новая командная оболочка nushell"
Отправлено Wilem , 02-Сен-19 14:33 
Речь исключительно про поклонников, а не шелл с джейсоном.

"Представлена новая командная оболочка nushell"
Отправлено user90 , 30-Авг-19 21:52 
Ну ладно, "структурированные данные" и пара_встроенных_модулей. Это просто ниачем. А если отмасштабировать? Тогда получится забавнее: возвращает эта хрень какой-то объект - как ты будешь с ним работать? Да первым делом полезешь смотреть ТЕКСТОВОЕ описание "объекта"! Но позвольте, это же.. ага! Да еще городить какие-то свои стандарты. Короче, лажа!

"Представлена новая командная оболочка nushell"
Отправлено Аноним , 02-Сен-19 04:58 
Не так. Добавил разработчик в неструктурированный вывод своей утилиты новое поле - ваши скрипты посыпались, или, что хуже, сломались незаметно. Со структурированным выводом такого не будет.

"Представлена новая командная оболочка nushell"
Отправлено vitalif , 31-Авг-19 02:27 
> [object Object]

Охренеть разбор, jq как-то лучше парсит


"Представлена новая командная оболочка nushell"
Отправлено rihad , 31-Авг-19 09:50 
Табуляция и фильтр по колонкам - очень симпатично. Но это не Unix way поэтому наврядли в ближайшее время сможет заменить /bin/sh и его производные. Если они сохраняют как-то обратную совместимость и позволяют эти надстройки использовать при желании - то круто. А так... все это можно реализовать на bash или sh алиасами и функциями, вот только нестандартны они, к сожалению.

"Представлена новая командная оболочка nushell"
Отправлено Аноним , 08-Сен-19 09:09 
bolshoe spasibo druzia