The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Представлена новая командная оболочка nushell

29.08.2019 11:27

Опубликован первый выпуск командной оболочки nushell, сочетающей возможности Power Shell и классических unix shell. Код написан на языке Rust и распространяется под лицензией MIT. Проект изначально развивается как кросс-платформенный и поддерживает работу в Windows, macOS и Linux. Для расширения функциональности могут использоваться плагины, взаимодействие с которыми осуществляется по протоколу 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 поддерживается автоматический разбор.



   /home/jonathan/Source/nushell(master)> open Cargo.toml

   -----------------+------------------+-----------------
    dependencies    | dev-dependencies | package
   -----------------+------------------+-----------------
    [object Object] | [object Object]  | [object Object]
   -----------------+------------------+-----------------

   /home/jonathan/Source/nushell(master)> open Cargo.toml | get package

   -------------+----------------------------+---------+---------+------+---------
    authors     | description                | edition | license | name | version
   -------------+----------------------------+---------+---------+------+---------
    [list List] | A shell for the GitHub era | 2018    | MIT     | nu   | 0.2.0
   -------------+----------------------------+---------+---------+------+---------


   /home/jonathan/Source/nushell(master)> open Cargo.toml | get package.version | echo $it

   0.2.0


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

  1. Главная ссылка к новости (http://www.jonathanturner.org/...)
  2. OpenNews: Microsoft открыл исходные тексты PowerShell и портировал для Linux
  3. OpenNews: Выпуск командной оболочки fish 3.0
  4. OpenNews: Xonsh - командная оболочка, сочетающая Python с лучшими возможностями Bash, zsh и fish
  5. OpenNews: Релиз командной оболочки zsh 5.1
  6. OpenNews: Релиз командного интерпретатора Bash 5.0
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/51375-shell
Ключевые слова: shell, nushell
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (194) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 11:30, 29/08/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +14 +/
    шота я не понял - зачем они написали павершел на хрусте, когда уже есть нормальный?
     
     
  • 2.2, Аноним (2), 11:34, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • –5 +/
    заорал, сисярп который запускается пять лет это по твоему нормальный?
     
     
  • 3.3, пох. (?), 11:44, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • –10 +/
    пихон у тебя что - быстрее, что-ли? Да ну, не звезди.

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

     
     
  • 4.73, EnemyOfDemocracy (?), 16:27, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    У вас что, Интел-тормозинтел-решетинтел чтоль?
     
     
  • 5.82, пох. (?), 17:38, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    У вас-то на православном ель-брусе пихтон прям летает?

     
     
  • 6.85, Anonymoustus (ok), 18:25, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > У вас-то на православном ель-брусе пихтон прям летает?

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

     
  • 6.100, bircoph (ok), 21:33, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    На Эльбрусе питон вполне сносно работает.
     
     
  • 7.174, D (?), 16:14, 31/08/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    На этом список заканчивается.
     
     
  • 8.200, Андрей (??), 18:32, 07/09/2019 [^] [^^] [^^^] [ответить]  
  • +/
    А представь-ка свой список, чтого должно работать И что ты подразумеваешь под ... текст свёрнут, показать
     
  • 4.88, macfaq (?), 19:27, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > пихон у тебя что - быстрее, что-ли? Да ну, не звезди.

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

     
  • 2.4, proninyaroslav (ok), 11:45, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Тогда зачем писать шеллы если уже есть bash?
     
     
  • 3.5, Аноним (5), 11:50, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +12 +/
    Школота не знает что написать на расте и пишет то что уже написано.
     
     
  • 4.32, НяшМяш (ok), 13:38, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +12 +/
    Эх, если бы вся школота так обучалась...
     
  • 4.40, freehck (ok), 13:56, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Окей, подкину школоте идейку Программа для обучения детей геометрии Сверху 3D-... большой текст свёрнут, показать
     
     
  • 5.49, Аноним (49), 14:37, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    OpenSCAD примерно так и работает, хотя там нет линий, только полигоны и тела.
     
     
  • 6.79, None (??), 17:06, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Там крутить муторно, хотя может я не знаю чего-то...

    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);
    };
    }

     
  • 5.51, AAA (??), 14:46, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +11 +/
    >... Они бы всё увидели, повращали, выбрали бы удобный ракурс...

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

     
     
  • 6.72, Ordu (ok), 16:17, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +18 +/
    > Их не лук соструганный самолично, ни компас из иголки, ни астрономия (оптический и радиотелескоп) не интересует.

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

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

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

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

     
     
  • 7.83, Анонимус_ (?), 17:53, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Если бы мне приспичило показать детям телескоп, то я бы сделал что-нибудь в стиле 15 минут рассказа об устройстве Солнечной Системы (с картинками), а потом 10-20 минут на то, чтобы каждый мог бы нарисовать эту Солнечную Систему. А, да, в промежутке между рассказами, можно было бы поиграть в Солнечную Систему, назначив роли планет, комет, астероидов, разыграв роль Солнца, и как-нибудь включив в игру подвижные элементы, типа побегать, попрыгать, поприседать, поотжиматься^W

    И нафейоа?

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

     
     
  • 8.89, Аноним (89), 19:53, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    А потому что дети исключительно редко начинают вдруг в один день по щелчку пальц... текст свёрнут, показать
     
  • 8.94, zzz (??), 21:15, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Натаскивают ботаников - орете, что всё остальные тупые Натаскивают всех - орете... текст свёрнут, показать
     
  • 8.96, Ordu (ok), 21:15, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    В 5-9 лет не отпугивает Наоборот привлекает Бывают дети зашуганные и пугающиес... большой текст свёрнут, показать
     
  • 7.154, анним (?), 19:46, 30/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    А те, кто в запасе, исполняет роль комет B)
     
  • 5.53, Ordu (ok), 14:54, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Совершенно верно Но пространственное воображение строится через моторную деятел... большой текст свёрнут, показать
     
     
  • 6.64, myhand (ok), 15:12, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >> Проблема в обучении детей геометрии в основном ведь связана с плохим пространственным воображением.
    > Совершенно верно. Но пространственное воображение строится через моторную деятельность,
    > причём 2d воображение -- это часть 3d воображения, в том смысле,
    > что психика сначала учится работать с 3d, и лишь затем с
    > 2d как с частным случаем. В чём собственно проблема школьной геометрии,
    > которая пытается решать задачу задом наперёд.

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

     
     
  • 7.76, Anonymoustus (ok), 16:51, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Этот аноним, похоже, тот самый шизик, что постил на Хабре статьи о том, как его не хотели лечить врачи-убийцы из карательной психиатрии и поэтому он решил обучиться психологии и вылечить себя сам. Запущенный случай. Я эту его графоманию проматываю, не глядя.
     
     
  • 8.119, Ололо (?), 07:44, 30/08/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ссылку дашь Поржать ... текст свёрнут, показать
     
     
  • 9.132, Anonymoustus (ok), 11:33, 30/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Может и не он, но графомания весьма похожа https habr com ru post 464011 htt... текст свёрнут, показать
     
  • 8.157, анним (?), 20:50, 30/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Если тот психолог лучше, чем программист, то точно не он ... текст свёрнут, показать
     
     
  • 9.158, Anonymoustus (ok), 21:10, 30/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Не уверен, что можно напрямую сравнивать квалификацию психолога и программиста ... текст свёрнут, показать
     
  • 7.98, zzz (??), 21:32, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    А потом эти же люди визжат, что дети стали тупые, потому что карлик, егэ и олигархи. Как я уже говорил выше - вас фиг проссышь, чего вы хотите - то ли понимания геометрии, то ли удовлетворения своего галактических размеров ЧСВ в рамках дискуссии в формате "Слыш, ты, идиот, ....!"
     
     
  • 8.122, Аноним (122), 09:30, 30/08/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Бывают люди и когда-то дети сложно принимающие математику и инженерно-физическ... текст свёрнут, показать
     
  • 8.170, myhand (ok), 08:36, 31/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    ЧСХ, можно совершенно оправданно визжать Совершенно не понимая при этом наст... текст свёрнут, показать
     
  • 7.155, анним (?), 19:53, 30/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    И что с аксиоматикой потом делать? А с доказательствами? За них берут на работу?
     
     
  • 8.171, myhand (ok), 08:37, 31/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Берут Сразу после школы можете идти работать овощем в пятерочку Собственно, ... текст свёрнут, показать
     
  • 5.60, myhand (ok), 15:07, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Извиняюсь, а в где тут было "обучение геометрии"?
     
  • 5.75, Anonymoustus (ok), 16:48, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Детям надо живые кубики из картона показывать и давать вертеть в руках, а не компьютерные картинки.
     
  • 5.81, Аноним (81), 17:36, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В geogebra этого нет?
     
  • 5.104, Sw00p aka Jerom (?), 21:46, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    geogebra есть :)
     
     
  • 6.121, freehck (ok), 09:24, 30/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > geogebra есть :)

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

     
  • 2.11, Wilem (?), 12:19, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +7 +/
    У повершелла чудовищный синтаксис.
     
     
  • 3.35, пох. (?), 13:39, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    если ЭТО научится чему-то посложнее - у него такой тоже будет
     
  • 3.77, Anonymoustus (ok), 16:52, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > У повершелла чудовищный синтаксис.

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

     

     ....большая нить свёрнута, показать (42)

  • 1.6, Аноним (5), 11:50, 29/08/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Не нужно написанное на не нужном.
     
  • 1.7, Аноним (7), 12:01, 29/08/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Хотел скачать, а там
    >A modern shell for the GitHub era
     
     
  • 2.46, Аноним84701 (ok), 14:30, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Хотел скачать, а там
    >>A modern shell for the GitHub era

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


     
     
  • 3.65, Аноним (65), 15:27, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > our community a harassment-free experience

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

     
  • 2.160, Michael Shigorin (ok), 22:02, 30/08/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > "ls | where size > 10kb"

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

    Эх.

     
     
  • 3.189, Аноним (189), 11:09, 02/09/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    У них есть для этих целей save|load. Не то же самое, но задачу решает.
     
     
  • 4.202, annual slayer (?), 01:07, 27/09/2019 [^] [^^] [^^^] [ответить]  
  • +/
    даже в фише одумались и вернули башевские штуки типа "&&" которые там принципиально отутствовали долгое время
     

  • 1.8, Аноним (8), 12:03, 29/08/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +14 +/
    >сочетающей возможности Power Shell

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


     
  • 1.9, Аноним (9), 12:10, 29/08/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    > Например, nushell позволяет использовать такие конструкции, как "ls | where size > 10kb" и "ps | where cpu > 10"

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

     
     
  • 2.10, anonymoussssss (?), 12:13, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +8 +/
    Это для вендузятников, у них же нормального шелла не завезли.
     
     
  • 3.12, anonimbl (?), 12:22, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    в винде есть нормальный bash.
     
     
  • 4.14, anonymoussssss (?), 12:31, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Через WSL2? Такое себе удовольствие виртуалку ради шелла запускать. Ещё и занимает 2 ГБ или около того.
     
     
  • 5.33, НяшМяш (ok), 13:39, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Запускай через WSL1
     
     
  • 6.66, Аноним (65), 15:28, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Наличие на машине WSL запускает Hyper-V всегда, даже если ты не юзаешь WSL в конкретный момент. Т.е. старт машины и расход ресурсов у тебя всегда будет дороже и дольше, потому что ты вообще WSL установил.

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

     
     
  • 7.90, НяшМяш (ok), 20:17, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Как же я люблю экспертов с опеннета. Вы хотя бы изучите предмет своего хейта. WSL1 не использует виртуализацию от слова вообще. Это прослойка, которая реализует ограниченный набор апи ядра, благодаря чему работает большинство вещей типа баша. Линукс процессы даже видны в диспетчере задач рядом с виндовыми.

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

     
     
  • 8.91, anonymoussssss (?), 20:34, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Наверное он спутал с WSL2 Как бы то ни было, на сколько мне известно поддержива... текст свёрнут, показать
     
     
  • 9.111, НяшМяш (ok), 23:33, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Да вы издеваетесь что ли WSL2 ещё даже в релиз не вышел, он доступен только для... текст свёрнут, показать
     
     
  • 10.167, xm (ok), 00:49, 31/08/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    велкам в чудесный мир искпердов оупеннет... текст свёрнут, показать
     
  • 5.181, rico (ok), 21:00, 01/09/2019 [^] [^^] [^^^] [ответить]  
  • +/
    cygwin
     
  • 4.16, Аноним (9), 12:32, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Может и есть, но только зачем тут винда? :)
     
  • 4.101, Аноним (101), 21:34, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > в винде есть нормальный bash.

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

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

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

     
     
  • 5.115, _ (??), 04:45, 30/08/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >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.

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

     
     
  • 6.123, Аноним (122), 09:33, 30/08/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Ямла нет,и нет отдачи резулбтата в json vи т.п. Есть yq, но в поисковиках, в моём варике в Убу не завезди.


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

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

     
  • 4.161, Michael Shigorin (ok), 22:03, 30/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Понимаете, юниксовый шелл силён не сам по себе, а всем тем, что вокруг него существует.  Это, гругря, тюбик суперклея, а не пятиколёсный велосипед с тремя зонтиками (и всё квадратное).
     
     
  • 5.198, myhand (ok), 16:30, 03/09/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Это, гругря, тюбик суперклея

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

     
  • 2.15, Wilem (?), 12:32, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Это для умненьких разработчиков, понимающих силу и удобство единого набора операций над единым форматом данных. Ты, видимо, не понял про что шелл и чем он отличается от беша. Он на самом деле абсолютно не пригоден для работы в текущем виде, это фактически демо. Но концепция - уже реализованная и работающая - офигительная.
     
     
  • 3.18, Аноним (9), 12:37, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Проще надо быть, если хочешь, чтобы тебя понимали.
    Разработчикам шелл скорее всего все-таки не нужен.

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

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

     
     
  • 4.42, Ordu (ok), 14:15, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Разработчикам шелл скорее всего все-таки не нужен.

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

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

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

     
  • 4.106, Wilem (?), 22:45, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Разработчикам не нужен шелл - это мощно. А что им нужно, Проводник? Они не люди что ли? Разработчик это синоним программист в данном случае, а программист постоянно занимается внезапно программированием, и всякие шеллы постоянно используются для скриптов этими программистами.
     
     
  • 5.128, пох. (?), 11:09, 30/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Разработчикам не нужен шелл - это мощно. А что им нужно, Проводник?
    > Они не люди что ли? Разработчик это синоним программист в данном
    > случае, а программист постоянно занимается внезапно программированием, и всякие шеллы
    > постоянно используются для скриптов этими программистами.

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

     
     
  • 6.133, Anonymoustus (ok), 11:40, 30/08/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > не смешите мои тапочки. современный разработчик пользуется шеллом, копипастя туда со стековерфлоу
    > sudo ls -l
    > (он не знает что делает первая команда, и зачем она ненужна -
    > тоже. Ему так сказали когда-то - все команды начинать с sudo.
    > А если и не сказали - в копипасте будет так.)

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

     
  • 6.144, Wilem (?), 18:04, 30/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Разработчики разные бывают. Речь про нормальных, которые и делают всю работу по существу. Зачем обсуждать криворуких, которым ничего не надо - непонятно.
     
     
  • 7.163, Michael Shigorin (ok), 22:12, 30/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Кто не видит филерукости того организма, который выродил сабж -- тот обсуждать сорта разработчиков тем более не дорос, увы и ах.  Хотя Даннинг и Крюгер наверняка бы ухмыльнулись.

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

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

     
     
  • 8.183, Аноним (189), 04:51, 02/09/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Почему бы не иметь для всех команд флаг для вывода структурированной информации ... текст свёрнут, показать
     
  • 3.37, myhand (ok), 13:50, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Опытные разработчики давно уже что-то вроде jupyter notebook используют...
     
     
  • 4.103, Аноним (101), 21:38, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Тока там библиотеки отфильтрованы из Пипа, славного своей лёгкой опомоеннностью.

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

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

     
  • 3.45, kai3341 (ok), 14:26, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    >  Это для умненьких разработчиков, понимающих силу и удобство единого набора операций над единым форматом данных. Ты, видимо, не понял про что шелл и чем он отличается от беша. Он на самом деле абсолютно не пригоден для работы в текущем виде, это фактически демо. Но концепция - уже реализованная и работающая - офигительная.

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

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

     
     
  • 4.50, user90 (?), 14:39, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Так и нужно было говорить: передаются объекты.
    Но вспомни, что шелл используется для администрирования. Итак, в итоге у нас получается "объектно-ориентированное администрирование", ыыыы. Подобное - особенно в текстовой консольке - сложно даже под тяжелыми галлюциногенами представить..
     
     
  • 5.56, Crazy Alex (??), 14:57, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Ну вот если кто-то соорудит простой и удобный гибрид - тогда, может, и взлетит. Думаю, никто не будет против того, чтобы там, где таблица, прилетала таки таблица, заранее корректно разделённая и без нужды в экранировании, если это не будет ломать уже привычные вещи. Что, например, подразумевает, что на вход "старой" тулзы, ожидающей текст, должен прилететь именно текст, обратно слепленный из этой таблицы.
     
     
  • 6.59, user90 (?), 15:03, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Такой - не соорудит. В итоге все равно выйдет что-то мышекликательное и с картинками. На электроне))
     
     
  • 7.80, Crazy Alex (ok), 17:16, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Это совсем другой вопрос
     
  • 5.78, kai3341 (ok), 16:55, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Вовсе не обязательно делать nushell шеллом по умолчанию -- структурированный stdout бывает реально редко. Но он может простимулировать добавление структурированного stdout в софт. Тут кого прижало, тот и сделал патч
     
  • 5.146, Wilem (?), 18:26, 30/08/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Но вспомни, что шелл используется для администрирования.

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

     
  • 4.55, анонн (ok), 14:56, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Есть причем давние попытки с прикруткой libxo code ps --libxo json 124 j... большой текст свёрнут, показать
     
     
  • 5.84, Дон Ягон (ok), 17:58, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Есть (причем давние) попытки с прикруткой libxo

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

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

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

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

     
     
  • 6.87, анонн (ok), 19:04, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Можно, но на мой взгляд, это будет все равно костыль полумера - передаем через п... большой текст свёрнут, показать
     
     
  • 7.113, Дон Ягон (ok), 03:31, 30/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Имхо, это не столько костыль или полумера, сколько не нужно в бОльшей части сл... большой текст свёрнут, показать
     
     
  • 8.127, анонн (ok), 10:51, 30/08/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Это само-собой - для человеков-то оно уже отформатированно пробелами code co... большой текст свёрнут, показать
     
     
  • 9.129, пох. (?), 11:14, 30/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    надо ж, нашелся хоть один полу вменяемый полу - потому что опять ниасилен ifd... текст свёрнут, показать
     
     
  • 10.139, Дон Ягон (ok), 14:42, 30/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Ну и зачем он тут нужен Это блин ещё хуже, чем неотключаемое наличие lixo шного... текст свёрнут, показать
     
     
  • 11.141, пох. (?), 17:13, 30/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    потому что следом появились бы такие же в ifconfig и прочих местах И я был бы с... текст свёрнут, показать
     
     
  • 12.143, Дон Ягон (ok), 17:58, 30/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    А, ты об этом С этим соглашусь Не согласен был с оборачиванием ifdef ом одного... текст свёрнут, показать
     
  • 9.135, Дон Ягон (ok), 14:14, 30/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Круто И то, что провели работу над ошибками, и то, что их мотивация выпилить li... текст свёрнут, показать
     
  • 7.116, _ (??), 04:51, 30/08/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Срам то какой! :(
    Линуксойды - копипастеры бойлерплейта, ну а фуле от ракешкумаров ожидать :(
     
  • 6.124, Аноним (122), 09:36, 30/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Это не овер.
    Это АПИ: даёшь команду, получаешь машино-читаемый ответ из ls.

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

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

     
     
  • 7.137, Дон Ягон (ok), 14:24, 30/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > даёшь команду, получаешь машино-читаемый ответ из ls.

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

     
     
  • 8.190, Аноним (189), 11:23, 02/09/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Вас пример с 124 where size 10kb не убедил Фильтр, который и парсит json, ... текст свёрнут, показать
     
     
  • 9.193, Дон Ягон (ok), 18:13, 02/09/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Конечно нет Чего тут может убедить-то То же самое делается awk ом, и очень три... текст свёрнут, показать
     
     
  • 10.194, Аноним (189), 19:25, 02/09/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Да, и как же Пишется adhoc парсер для каждой новой утилиты Или классика, по но... текст свёрнут, показать
     
     
  • 11.195, Дон Ягон (ok), 19:40, 02/09/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Да, именно так В этой теме было уже по меньшей мере два примера, как автор соо... большой текст свёрнут, показать
     
  • 3.52, Crazy Alex (??), 14:53, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Оно будет иметь хоть какой-то право на жизнь если будет обратно-совместимо с существующим всем - утилитами, скриптами, привычками. То есть пишешь как писал - получаешь те же резулдьтаты, что и в bash. Ставишь, я не знаю, тройной пайп или ту самуб шляпу - получаешь "расширенный" вариант. Только эту совместимость поддерживать - немного свихнёшься, а без неё - не взлетит (и правильно).
     
     
  • 4.107, Wilem (?), 22:48, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Культ старья ни к чему хорошему не приведёт.
     
     
  • 5.117, _ (??), 04:56, 30/08/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ты уже заменил колёса на квадратные? Д,Б!(С)
     
     
  • 6.130, пох. (?), 11:15, 30/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > ты уже заменил колёса на квадратные? Д,Б!(С)

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

     
  • 6.147, Wilem (?), 18:29, 30/08/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Я с юниксами и шеллами и программированием года так с 1996. Только потому, что беш - старый и все его знают, не делает его лучшим или идеальным. Как-то так получается, что прогресс идёт через обобщение опыта и переход на что-то лучшее.  Правда, что бы понять что лучшее, а что худшее - надо в теме неплохо разбираться. Беш задрал - уже сил нет, и концептуально новый шелл давно уже назрел.
     
  • 3.92, KonstantinB (ok), 20:42, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Непонятно, зачем все ломать было для этой концепции. Достаточно научиться работать с JSON, а все остальное оставить как было.
     
     
  • 4.148, Wilem (?), 18:34, 30/08/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    JSON непозволительно беден в поддерживаемых типах данных. Ну и собственно nu с джейсоном работать умеет, насколько это возможно, т.к. смотри бедноту типов.
     
     
  • 5.150, KonstantinB (ok), 18:48, 30/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    А каких типов данных не хватает для шелла? Массивы есть, хэш-таблицы есть, числа есть, булевые значения есть, null есть. Что еще надо? Строгую типизацию в шелл? Нафига она там?
     
  • 3.162, Michael Shigorin (ok), 22:07, 30/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Таки читайте воспоминания Ашманова про "единую шину" "умненьких разработчиков" -- вдруг что-то да дойдёт, _кто_ непригоден для работы и где "единый формат данных", а где та несусветная чушь, что приведена в тексте новости как достижение.
     
  • 2.17, Аноним (17), 12:36, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Согласен, что баш скрипты в общем случае более гибки. Особенно если сравнивать с текущей веврсии этого nushell, в которой судя по всему ещё даже условий, циклов и прочего не завезли.

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

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

     
     
  • 3.23, Аноним (5), 12:43, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Метаязыки не нужны.
     
  • 3.25, Аноним (25), 12:55, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +5 +/
    А вы дошли до страницы в мане, где find болванки прожигает?
     
  • 3.26, Аноним84701 (ok), 12:56, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/

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

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

     
     
  • 4.47, Аноним (17), 14:30, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Ну так гораздо понятнее да. Ну и эффект не соответствует выводу команды ls, из которого убрали отфильтрованные файлы.
     
  • 4.57, Crazy Alex (??), 14:59, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    ...и вместо читаемого слёту получаем нечто, где надо понимать, а что там за пятое поле. Хотя компактнее, конечно.
     
     
  • 5.62, Аноним84701 (ok), 15:09, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > ...и вместо читаемого слёту получаем нечто, где надо понимать, а что там

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

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

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



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



     
     
  • 6.175, Анонимный Алкоголик (??), 21:05, 31/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    >> ...и вместо читаемого слёту получаем нечто, где надо понимать, а что там
    > Если хочется получить максимально близкий "перевод"  примера
    >> ls | where size>10k
    > то придется так.
    > Для эстетствующих  есть вариант:
    >


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

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

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

     
     
  • 7.177, Аноним84701 (ok), 21:48, 31/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > У нас из любимых файлов такие:
    > Инцидент "Бедфорд".mpeg
    > Stormy Daniels.mp
    > (короче, правильно find)

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

     
     
  • 8.185, Анонимный Алкоголик (??), 05:09, 02/09/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Ну эта Как эта Эта ну такой вот файл Допустим их там не 2 Это в глазах... текст свёрнут, показать
     
  • 3.31, bubuka (?), 13:22, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    find . -maxdepth 1 -type f -size +10k -ls, тогда не будет на каждый файл по процессу запускать
     
  • 3.43, Ordu (ok), 14:17, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Но если гововорить про пример с ls, то аналогичный эффект в баше можно достичь вот так:
    > find . -maxdepth 1 -type f -size +10k -exec ls {} \;

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

     
     
  • 4.93, anonymous (??), 20:42, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вообще это юнихвей, когда одна программа делает одно действие и делает это хорошо.
     
     
  • 5.97, Ordu (ok), 21:28, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Вообще это юнихвей, когда одна программа делает одно действие и делает это
    > хорошо.

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

     
     
  • 6.120, Аноним (120), 08:34, 30/08/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    и что этому комбайну мешает быть одной программой, которая делает эти действия хорошо?
     
     
  • 7.134, Ordu (ok), 13:45, 30/08/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > и что этому комбайну мешает быть одной программой, которая делает эти действия
    > хорошо?

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

     
     
  • 8.136, Andrey Mitrofanov_N0 (??), 14:19, 30/08/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Нет Нет ... текст свёрнут, показать
     
     
  • 9.138, Ordu (ok), 14:33, 30/08/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Нет Нет ... текст свёрнут, показать
     
     
  • 10.140, Andrey Mitrofanov_N0 (??), 14:54, 30/08/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Уникальное расширенное предложение Торопитесь Если Вы хорошо попросите и ... текст свёрнут, показать
     
     
  • 11.142, Ordu (ok), 17:57, 30/08/2019 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Я читал TAOUP лет пятнадцать назад, оно выглядело тогда откровением свыше, но се... большой текст свёрнут, показать
     
     
  • 12.168, Дон Ягон (ok), 00:59, 31/08/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Так себе авторитет, ИМХО Позвольте полюбопытствовать, почему именно Потому что... большой текст свёрнут, показать
     
     
  • 13.173, Ordu (ok), 11:28, 31/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Так я о том и говорю Для обработки текста свой язык фильтрации Для обработки ф... большой текст свёрнут, показать
     
     
  • 14.176, Дон Ягон (ok), 21:34, 31/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Она именно в этом и заключается Поэтому, например, мы имеем отдельно awk и sed ... большой текст свёрнут, показать
     
     
  • 15.178, Ordu (ok), 22:37, 31/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Но когда она будет нужна, я не смогу использовать find с sql Мне придётся выёжи... большой текст свёрнут, показать
     
     
  • 16.179, Дон Ягон (ok), 16:50, 01/09/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Ключевой вопрос а когда она будет нужна Но безусловно, если есть регулярная за... большой текст свёрнут, показать
     
     
  • 17.180, Ordu (ok), 19:42, 01/09/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Если нужна эффективность, то тебе не нужен shell -- интерпретатор на интерпретат... большой текст свёрнут, показать
     
     
  • 18.182, Дон Ягон (ok), 02:56, 02/09/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Это совершенно не повод всё усугублять Считать иначе - странно Будь все програ... большой текст свёрнут, показать
     
     
  • 19.187, Ordu (ok), 10:09, 02/09/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, не понимаешь Пытаться на принципах созданных в популистских целях -- это а... большой текст свёрнут, показать
     
     
  • 20.192, Дон Ягон (ok), 18:10, 02/09/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Какие принципы Где ты такое слово-то нашёл Сам сказал - сам опроверг - очень у... большой текст свёрнут, показать
     
  • 21.196, Ordu (ok), 23:00, 02/09/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Когда каждый использует свои собственные подходы -- это значит, что нет никаких ... большой текст свёрнут, показать
     
  • 22.197, Дон Ягон (ok), 01:02, 03/09/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Подходы, или рекомендации к написанию программ существуют, только они не являютс... большой текст свёрнут, показать
     
  • 18.186, Анонимный Алкоголик (??), 05:35, 02/09/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Транслятор с языка Ада кстати тоже не нарушает увэй ... текст свёрнут, показать
     
     
  • 19.188, Ordu (ok), 10:10, 02/09/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Не нарушает Но он не заточен под использование вместо шелла ... текст свёрнут, показать
     
     
  • 20.199, Анонимный Алкоголик (??), 05:44, 05/09/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Ну и find вообще-то вместо shell будет как-то неостёр ... текст свёрнут, показать
     
  • 5.99, Аноним84701 (ok), 21:33, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Вообще это юнихвей, когда одна программа делает одно действие и делает это хорошо.

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

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

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

     
     
  • 6.125, Аноним (125), 10:34, 30/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    структурированные и типизированные данные - это круто, да.
    но дотнет - говно, а раст.. не понятно.
     
  • 3.109, Wilem (?), 22:55, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Разница между nu-ls и find это не вопрос синтаксиса. К бешу это сравнение вообще не применимо, тк он не умеет инфу о файлах загружать. Find - это не беш.

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

     

     ....большая нить свёрнута, показать (97)

  • 1.13, corvuscor (ok), 12:29, 29/08/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Не, ну табличный разбор вывода - это норм тема.
    Кто знает, такое к башу прикрутить можно?
     
     
  • 2.19, Аноним (5), 12:40, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Баш скриптом.
     
  • 2.20, Аноним (9), 12:40, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    awk
     
  • 2.21, aa (?), 12:41, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +8 +/
    Если бы пользователи умели awk, grep и sed, программисты были б не нужны. (с) непомнюкто
     
  • 2.22, Andrey Mitrofanov_N0 (??), 12:43, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Не, ну табличный разбор вывода - это норм тема.
    > Кто знает, такое к башу прикрутить можно?

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


    | column -t


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

     
  • 2.164, Michael Shigorin (ok), 22:13, 30/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Сходу вижу csvkit (но когда делали такие задачки, его ещё не было).
     

  • 1.27, Аноним (27), 12:56, 29/08/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Идея хорошая, но не взлетит исключительно потому, что уже есть де-фактный стандарт в виде bash (sh-фанатики, даю установку триггернуться.)
     
     
  • 2.58, Crazy Alex (??), 15:02, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Идея хорошая (правда, далеко не новая). Реализация - дрянь.
     
  • 2.149, Wilem (?), 18:36, 30/08/2019 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > но не взлетит исключительно потому, что уже есть де-фактный стандарт

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

     

  • 1.29, Vitaliy Blats (?), 13:10, 29/08/2019 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • –1 +/
     

     ....ответы скрыты (6)

  • 1.30, Проходил мимо (?), 13:14, 29/08/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Rust заточен на обработку строк в utf8. Интересно, как этот шелл будет работать в кириллических раскладках, отличных от юникода?
     
     
  • 2.36, Аноним (36), 13:41, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Тут один такой остался, кому это надо, saahriktu.
     
  • 2.44, Аноним84701 (ok), 14:24, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Rust заточен на обработку строк в utf8. Интересно, как этот шелл будет
    > работать в кириллических раскладках, отличных от юникода?

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

     
     
  • 3.151, Wilem (?), 18:49, 30/08/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Старая консоль поддерживала и поддерживает UCS-2, то есть два байта на символ. Проблема как я понял в том, что UTF-8 это в худшем случае 4 байта, а значит полный UTF-8 отобразить не получится. Но например ввод и вывод русского+английского+чешского в одной строке работает. UTF-8 они пилят, но судя по блог-постам ещё не допилили, потому что пытаются не поломать старое.
     

  • 1.38, Аиксойд (?), 13:53, 29/08/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    При чтении различных логов будет удобно довольно )
     
     
  • 2.41, пийшелл (?), 14:01, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Ну не целый шелл же
     
     
  • 3.71, Аноним (25), 16:11, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Вот если они свою обработку вынесут в библиотеку, будет годно. А сам шел уже будет обёрткой над бибилиотекой. А над можно и что-то другое построить.
     
  • 2.69, Vitaliy Blats (?), 15:51, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > При чтении различных логов будет удобно довольно )

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

     

  • 1.48, анонимус (??), 14:37, 29/08/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > В оболочке применяется привычная для пользователей Unix система конвейеров в формате "команда|фильтры|обработчик вывода".

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

     
     
  • 2.54, Аноним (27), 14:56, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    То есть в баше пайп это не синтаксический сахар, а самая что ни на есть низкоуровщина? Ниже только кварки с глюонами?
     
     
  • 3.63, user90 (?), 15:09, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    FIFO
     
  • 3.70, пох. (?), 15:57, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ну в общем-то да, ниже уже только файловые дескрипторы.
    man 2 pipe (или в "новом стандарте" уже нету?)

     
     
  • 4.105, Аноним (105), 21:53, 29/08/2019 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Фд - это высокоуровневое апи оси. Пайпы - нескучный смузи-синтаксис над фд-шками. Прув ми вронг.

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

     
  • 3.165, Michael Shigorin (ok), 22:24, 30/08/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    В шелле pipe -- это одна из основополагающих конструкций.

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

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

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

     

  • 1.95, Annoynymous (ok), 21:15, 29/08/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Ни тебе снапа, ни тебе флатпака, ни тебе аппимиджа. Недостаточно хипстово!
     
  • 1.108, Аноним (108), 22:55, 29/08/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    В Unix shell всё есть текст. В PowerShell всё есть объект. А тут что?
     
     
  • 2.126, Аноним (125), 10:40, 30/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    а тут всё есть раст.
     
  • 2.131, пох. (?), 11:17, 30/08/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > В Unix shell всё есть текст. В PowerShell всё есть объект.

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

    >  А тут что?

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


     
     
  • 3.153, Аноним (153), 19:01, 30/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > вы не в курсе, как устроены эти его "объекты"?

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

     

  • 1.145, Аноним (145), 18:23, 30/08/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Зачем потребовалось скрещивать shell с json-RPC?
    Поклонникам shell нафиг не уперся json... поклонники json никогда не полезут в shell...
     
     
  • 2.152, Wilem (?), 18:54, 30/08/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    :) Реальный мир (где люди работу делают) нет никаких поклонников. Есть задачи и инструменты с помощью которых они решаются.
     
     
  • 3.156, Аноним (156), 20:05, 30/08/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Серещивание shell с json - это однозначно не про реальный мир...
     
  • 3.166, Michael Shigorin (ok), 22:25, 30/08/2019 [^] [^^] [^^^] [ответить]  
  • +/
    А потом поезда с рельс сходят у таких вот самоуверенных.
     
     
  • 4.191, Wilem (?), 14:33, 02/09/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Речь исключительно про поклонников, а не шелл с джейсоном.
     

  • 1.159, user90 (?), 21:52, 30/08/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Ну ладно, "структурированные данные" и пара_встроенных_модулей. Это просто ниачем. А если отмасштабировать? Тогда получится забавнее: возвращает эта хрень какой-то объект - как ты будешь с ним работать? Да первым делом полезешь смотреть ТЕКСТОВОЕ описание "объекта"! Но позвольте, это же.. ага! Да еще городить какие-то свои стандарты. Короче, лажа!
     
     
  • 2.184, Аноним (189), 04:58, 02/09/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Не так. Добавил разработчик в неструктурированный вывод своей утилиты новое поле - ваши скрипты посыпались, или, что хуже, сломались незаметно. Со структурированным выводом такого не будет.
     

  • 1.169, vitalif (ok), 02:27, 31/08/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > [object Object]

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

     
  • 1.172, rihad (ok), 09:50, 31/08/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Табуляция и фильтр по колонкам - очень симпатично. Но это не Unix way поэтому наврядли в ближайшее время сможет заменить /bin/sh и его производные. Если они сохраняют как-то обратную совместимость и позволяют эти надстройки использовать при желании - то круто. А так... все это можно реализовать на bash или sh алиасами и функциями, вот только нестандартны они, к сожалению.
     
  • 1.201, Аноним (201), 09:09, 08/09/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    bolshoe spasibo druzia
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру