LINUX.ORG.RU

Состоялся релиз PowerShell 7

 ,


0

0

4 марта вышла в свет новая версия PowerShell 7.

PowerShell представляет собой «кроссплатформенный фреймворк автоматизации ПО и конфигурирования, оптимизированный для структурированных данных, REST API и объектных моделей», который включает в себя командную оболочку, объекто-ориентированный язык и набор средств для исполнения сценариев и управляющих модулей.

Из новых возможностей отмечены:

  • Параллельная обработка объектов в ForEach-Object
  • Новые операторы: тернарный условный оператор ?:; управляющие операторы || и &&, аналогичные таким же операторам в bash; условные NULL-операторы ?? и ?=, отдающие значение справа в случае, если значение слева равно NULL
  • Улучшенное представление описания ошибок и командлет Get-Error для вызова детального описания ошибок
  • Вызов ресурсов службы настройки требуемого состояния (DSC) непосредственно из PowerShell (в экспериментальной стадии)
  • Улучшенная обратная совместимость с Windows PowerShell

Версия доступна к использованию дистрибутивами Linux, поддерживающими .NET Core 3.1, сообществом предоставлены пакеты для Arch и Kali Linux.

Snap-пакет в Ubuntu 16.04 вызывает ошибку сегментирования, в связи с чем предлагается установка в поставке DEB или tar.gz.

>>> Подробности

★★★

Проверено: cetjs2 ()
Ответ на: комментарий от baklazhan

Уже притащили без меня.

прям установили пакет по умолчанию или сделали шеллом по умолчанию?

WindowsXP ★★
()
Ответ на: комментарий от Deleted

Ну и где нынче сд диски? И где был бы Неро, если бы оставался их записывалкой?

AVL2 ★★★★★
()
Ответ на: комментарий от Im_not_a_robot

В контексте управления офтопиком вещь нужная и логичная.

gedisdone ★★★
() автор топика
Ответ на: комментарий от beck

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

rupert ★★★★★
()
Ответ на: комментарий от rupert

PowerShell ISE прошлый век, сейчас всех пересаживают на VS Code. Даже руководства «как сделать VS Code как ISE» есть.

gedisdone ★★★
() автор топика
Ответ на: комментарий от anonymous

переписывал в bat для cmd.exe. Вот где извращенчество…

Это да.

Только от этого слаще не становится…

fornlr ★★★★★
()

Ребят, лень регатся, простой вопрос. На ГитХабе есть одна прога, лицензия MIT, но исходных кодов нет, выложены только бинарники. Имеет ли право автор зажать исходники?

anonymous
()
Ответ на: комментарий от xaizek

Откуда такая ненависть?

Ладно админы, профдеформированные башем/перлом. Но программисту как бы очевидно, что сабж - первый шелл с вменяемым ЯП. Читаемо, логично, структурированно.

Один минус - нет такой глубокой интеграции в ОС, как в винде, т. к. нет COM.

ждать несколько секунд

Какая-то линукс-магия? На win10 запускается моментально.

anonymous
()

сообществом предоставлены пакеты для Arch и Kali Linux

Ну в общем, круг пользователей этого ненужно вполне понятен…

no-such-file ★★★★★
()
Ответ на: комментарий от anonymous

На ГитХабе есть одна прога, лицензия MIT, но исходных кодов нет, выложены только бинарники. Имеет ли право автор зажать исходники?

Конечно. Ну вот он тебе бинарник под MIT лицензией выложил. Делай с ним что хочешь.

anonymous
()
Ответ на: комментарий от anonymous

Какая-то линукс-магия? На win10 запускается моментально.

скорее всего snap магия. Там программы весьа долго запускаются в первый раз.

Этак GNOME Calculator секунд 6 на топовом ПК с SSD.

anonymous
()
Ответ на: комментарий от anonymous

тривиальный bash (с циклами, условиями и пр., но не замысловато) переписывал в bat для cmd.exe

Не бережёшь ты себя, анон.

kostyarin_ ★★
()
Ответ на: комментарий от anonymous

Предпочитаю кастомную версию перла — руби.

Аналогично. Что-то простое – bash, что-то посложнее – Ruby. И жизнь твоя проста и крута.

kostyarin_ ★★
()
Ответ на: комментарий от anonymous

Читаемо, логично, структурированно.

Только для тех, у кого ООП головного мозга (к нормальному ООП я никаких претензий не имею, к слову). Они и на баше простую задачу, которая делается за 10 простых и логичных строк, раздувают до 100500 функций и по очереди их дёргают. Теперь для них придумали целый шелл, где можно писать длинные-длинные конструкции, повышая ЧСВ :)

Deleted
()
Ответ на: комментарий от anonymous

скорее всего snap магия. Там программы весьа долго запускаются в первый раз.

Потому что он их через /dev/loop* запускает.

kostyarin_ ★★
()
Ответ на: комментарий от Deleted

Видеть везде ООП - вот где ООП головного мозга.

Вас PS заставляет писать с наследованием или полиморфизмом? Или там с метаобъектным протоколом, если вы любитель CLOS?

Или вы запись Foo.Bar считаете объектно-ориентированной, а башево foobar - нет?

Что многословнее - конечно, ведь не было задачи сделать write-only. С длинными POSIX-ключами сравнимо будет.

А еще самые продвинутые умеют писать функции, если имеющиеся примитивы слишком примитивны.

anonymous
()
Ответ на: комментарий от Deleted

Они и на баше простую задачу, которая делается за 10 простых и логичных строк, раздувают до 100500 функций и по очереди их дёргают

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

router ★★★★★
()
Ответ на: комментарий от anonymous

Какая-то линукс-магия? На win10 запускается моментально.

Под линукс тоже запускается мгновенно. Это старые штампы, тех времен, когда PowerShell действительно тормозил, до 4-ой версии наверно.

anonymous
()
Ответ на: комментарий от no-such-file

На питоне нельзя писать однострочники в духе perl -e …, так что сразу мимо

«На перле нет вменяемого отладчика, где можно пощупать API. Так что сразу мимо»

router ★★★★★
()
Ответ на: комментарий от anonymous

Не ненависть, а скорее презрение. Запускал эту штуку на винде, когда надо было. Что авто-дополнение, что вывод ошибок, что система команд были каким-то ужасом. Может сейчас аппаратная часть ускорилась и оно чуть меньше тормозит (или добавили ещё какой-нибудь демон для «оптимизации» (сокрытия тормозов)).

xaizek ★★★★★
()
Ответ на: комментарий от router

перле нет вменяемого отладчика, где можно пощупать API

Отладчик для однострочников? Идите в сад с языком, где для этого нужен отладчик.

no-such-file ★★★★★
()
Ответ на: комментарий от no-such-file

Завидуй молча, победитель спецолимпиад по гольфу

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

router ★★★★★
()
Ответ на: комментарий от router

Узнаю брата Петю(виндовс юзера).
Сделать мегакомбайн.
Что мешает так же запустить строчку перл и и посмотреть,
что из этого получится?

anonymous
()
Ответ на: комментарий от anonymous

Даже не знаю. Может быть актуальные задачи, для которых не хватит helloworld?

Когда писал на перле, разумеется так и делал. В скрипт добавлял

printf("%s\n", Dumper($var));
# exit 0;

т.е. дело было так

  • добавить printf
  • сохранить файл
  • перейти в консоль
  • запустить ./script.pl | less
  • либо профит, либо goto пункт 1

а в питоне так:

  • в отладчике что-то сделать и тут же получить результат
  • пощупать результат с помощью любых средств языка, которые нужны ( dir, type, pprint, str(), str_var.format() )

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

router ★★★★★
()
Последнее исправление: router (всего исправлений: 1)
Ответ на: комментарий от xaizek

Использую сабж совсем по чуть-чуть на винде, тормозов не встречаю. Точнее, действительно видел когда-то давно, видимо оптимизировали с тех пор.

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

А в целом, как язык в вакууме он может и не очень, а по сравнению с другими шеллами - отлично. Баш - вот что каюк для структурированного программирования, я на нем успел поскриптовать вволю. Хотя для наколенного ad-hoc баш, пожалуй, лучше.

anonymous
()
Ответ на: комментарий от anonymous

Узнаю брата Петю(виндовс юзера). Сделать мегакомбайн.

обычный REPL, как у bash или lisp.

anonymous
()
Ответ на: комментарий от no-such-file

На питоне нельзя писать однострочники в духе perl -e ..., так что сразу мимо.

Если позарез надо - то можно. Вот, например, хрень для переформатирования json-а:

python3 <(echo 'import json,sys;json.dump(json.load(sys.stdin),sys.stdout,ensure_ascii=0,indent=4)')

Хорошие люди обычно так не делают, но как проверка концепции - годится.

anonymous
()
Ответ на: комментарий от router

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

Ну это тоже глупо и сложно поддерживаемо.

Думаю, нам друг друга не понять

Если теорему Эскобара не применять, то всё отлично понимается :)

Deleted
()
Ответ на: комментарий от intelfx

Напишите уже кто-нибудь powerutils и powerutil-linux.

да уж сразу powerutilsd и powerutil-linuxd тогда.

crypt ★★★★★
()
Ответ на: комментарий от grim

Питон для скрипотования раз в 5 многословнее и раз в 10 медленнее Перла. Хотя деткам...

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

crypt ★★★★★
()
Ответ на: комментарий от router

но уже наоборот в 5 раз лаконичнее

Ох уж эти сказочники.

Если что-то большое, то обычно проще переписать с Питона на TypeScript.

Ибо для чего-то большего нужен ЯП со строгой типизацией и не такой тормозной как питон.

Не так давно переписал с Питона на TS.

С полутора - двух часов у питона время сранения уменьшилось до 1-2 минут Ноды.

Переписывал логику 1 в 1.

После оптимизации Just for fun стало считать 9 -10 секунд.

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

grim ★★☆☆
()
Ответ на: комментарий от anonymous

Про вывод ошибок соглашусь, не понравился.

Есть служебная переменная $ErrorActionPreference, с помощью которой можно в $profile настроить вывод ошибок и автоматическая $Error, с помощью которой можно просмотреть всю информацию об ошибке.

 >>> 2/0                                                                                                                                              
RuntimeException: Attempted to divide by zero.

 >>> ($error[0] | gm).name          
Equals
GetHashCode
GetObjectData
GetType
ToString
CategoryInfo
ErrorDetails
Exception
FullyQualifiedErrorId
InvocationInfo
PipelineIterationInfo
ScriptStackTrace
TargetObject
PSMessageDetails

 >>> $error[0].tostring()  
Attempted to divide by zero.

 >>>
anonymous
()
Ответ на: комментарий от crypt

из-за читаемости

Вот это лол.

Говноскрипты на питоне ни чуть не лучше чем на любом другом ЯП

и понятности

Так и я об этом ;)

В школах уже лет 20 питон преподают.

Но так как в школе питон 2 то эти уже выросшие жертвы образования до сих пор на 3 не могут перейти.

grim ★★☆☆
()
Последнее исправление: grim (всего исправлений: 2)

tl;dr
Каменты не читал и вообще я за свободу и наличие альтернатив, но нахрена pws если есть bash, а для тяжёлых случаев python или для старпёров perl?
Как бе в чём его цимес.

WatchCat ★★★★★
()
Ответ на: комментарий от baklazhan

Не пойму, зачем тащить виндуз в линукс? Для кого все это?

Чтобы в случае виндо-капца, линукс-капец настал одновременно: не доставайся же ты никому!

dimgel ★★★★★
()
Ответ на: комментарий от WatchCat

но нахрена pws если есть bash

Что-то вроде два в одном, и для тяжелых случаев и так по мелочам. Не надо заморачиваться с bash, который я за десять лет уже изрядно подзабыл, читать тонну мануалов на каждый чих, и не надо учить перл/питон. Такая золотая середина, если конечно знаком с сабжем и личные потребности укладываются в возможности.

anonymous
()
Ответ на: комментарий от annulen

Даже тупо перехватить stdout + stderr + rc не каждый сможет

Вот уж хитрость - IPC::Open3 заюзать, который из коробки идет.

разница между «|» и тем, что предлагает perl, как между использованием телефона и радиостанции и азбуки морзе.

dummy ★★
()

У любителей копролитических командочек и лозунга «усë - текст» подгорело от современных технологий со структурированным интерфейсом, вместо потока текстового сознания.

seiken ★★★★★
()
Ответ на: комментарий от intelfx

а кто-нибудь уже предлагал для различных утилит возможность выводить не только текстом, но и в json или еще как удобным для использования виде?

cvs-255 ★★★★★
()
Ответ на: комментарий от router

«На перле нет вменяемого отладчика, где можно пощупать API. Так что сразу мимо»

если ты не осилил perldoc perldebtut то тебе пора мести улицы, никакой павершел тебя не спасёт.

vtVitus ★★★★★
()
Ответ на: комментарий от seiken

У любителей копролитических командочек и лозунга «усë - текст» подгорело от современных технологий со структурированным интерфейсом, вместо потока текстового сознания.

У любителей секса с тётками подгорело от современный гей тенденций с их анальными структурированными интерфейсами.

vtVitus ★★★★★
()
Последнее исправление: vtVitus (всего исправлений: 2)
Ответ на: комментарий от grim

Ох уж эти сказочники.

класс на питоне:

class name(object):
  field1 = 'str'
  fieldN = None  # type: dict

  def __init__(self):
    fieldN = dict()

  def method1(self):
    # some code

  def methodN(self,arg1):
    # some code

класс на перле:

package name;

sub new{
  my $invocant = shift @_;
  my $class = ref( $invocant ) || $invocant;

  return bless(
    {
       'field1' => 'str'
       'fieldN' => {}
    },
    $class
  );
}

sub method1(){
  my $self = shift;
  # some code
}

sub methodN($){
  my $self = shift;
  my $arg1 = shift;
  # some code
}

1;

есть способы чуть приукрасить картину дополнительными модулями, но штатный способ именно такой, ЕМНИП

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

Если что-то большое, то обычно проще переписать с Питона на TypeScript.

TypeScript? Это у вас такой прононс слова «Perl», за который вы топите, или попытка переобуться на ходу?

процитирую некоего grim:

Питон для скрипотования раз в 5 многословнее и раз в 10 медленнее Перла.

router ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.