LINUX.ORG.RU

Анонс Power Shell Core 7

 ,


0

1

PowerShell — расширяемое средство автоматизации от Microsoft с открытым исходным кодом.

На этой неделе Microsoft анонсировала следующую версию PowerShell Core.
Несмотря на все ожидания, следующая версия будет PowerShell 7, а не PowerShell Core 6.3. Это сигнализирует о значительных изменениях в разработке проекта, поскольку Microsoft делает еще один важный шаг по замене встроенного PowerShell 5.1 в Windows на кроссплатформенный PowerShell Core.

Как сообщает Microsoft, релиз станет доступен примерно в мае 2019 года. И выйдет вскоре после выпуска .NET Core 3.0.

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

★★★★★

Проверено: Shaman007 ()
Последнее исправление: Virtuos86 (всего исправлений: 5)

Ответ на: комментарий от seiken

Все понятно, че.

ps -p $(pidof skype)
Ты просто кэннот инто шелл. Конвееры же явно выше твоего разумения, как и концепции модульности и расширяемости.

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

Что это за хрень? Что такое «ps»? Проблемы с доступными ресурсами, на буковках экономим? Но сейчас не 80е :) При том, что есть такой костылик как pidof, который достает инфу о идентификаторах процессов, чтобы не отвлекаться на обработку текста и юникс-вей. А в общем случае подстановка текста в аргументы команды чревата багами и траходромом при каждой смене исходного текстового формата.

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

Что это за хрень? Что такое «ps»?

Это сокращение от «Process Status». Мог бы и нагуглить.

такой костылик как pidof, который достает инфу о идентификаторах процессов

Где в этом костыльность, ебобо?

А в общем случае подстановка текста в аргументы команды чревата багами и траходромом

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

при каждой смене исходного текстового формата

Ага, по три раза на дню меняют.

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

Вот, т.е. уже bash и компания не достаточно для скриптов, так?

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

У PS же синтаксис проще и однозначнее понятен.

Только он не решает задачи шелла, описанные выше

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

Так и в винде нет никакой инфраструктуры. Повершелл ориентирован на использование «коммандлетов», по сути модулей языка, при этом синтаксис PS пытается быть похожим на помесь шелла с Java, а не на скриптовые ЯП общего назначения из той же ниши. Работа же с обычными программами, которые выводят текст в stdout и с ним надо что-то сделать, весьма геморройна

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

Перл ещё позволяет «делать одно и тоже 100500 разными способами», весьма способствуя написанию write-only скриптов

В административных задачах лишний способ решения никогда не бывает лишним, это не разработка больших проектов (для которых существует подход modern perl)

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

чего стоит один tar - это же просто мега копролит!

Что с ним не так? написан не на го с растом и потому недостаточно хипсторский?

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

Вот простой пример, почему PS - это никудышний шелл. Хочешь запустить программу, точно зная, выполняется она в фоне или синхронно? Хрена с два, Win32-программы будут по-умолчанию выполняться в фоне, а консольные синхронно, и чтобы это поменять, нужно использовать коммандлет с его кучерявым синтаксисом. Хочешь узнать код возврата программы или просто проверить, ноль он или не ноль? POSIX-шелл тихо ржет в сторонке

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

Неженка, ты ещё embedded tcl скрипты в тулах кеденса не видел.

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

Full disclosure: я большой хейтер шелл-лапши, бизнес логики на шелле, bash-расширений POSIX-шелла, позволяющих плодить эту хрень когда уже пора переписывать на настоящем ЯП и т.п. Но PS решает задачи шелла, а в качестве ЯП общего назначения он убог.

И да, я неоднократно писал код на PS (точнее, вынужден был это делать) для решения задач, которые на шелле записались бы в несколько строчек. Количество встреченных граблей было внушительным

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

У MS кстати были когда-то jscript и vbscript, позволяющие с более-менее человеческим синтаксисом скриптовать систему. Их недостатками были отсутствие системы расширений и возможностей для создания полноценного гуя, если бы не это, то потребности в уродце PS вообще ни у кого бы не возникло

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

на буковках экономим

У твоих пальцев ограниченный ресурс «keystroke"ов. Неразумно тратить их на мусор.

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

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

ничего?

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

В чём заключается ненужность?

Все, что создает корпорация добра-ненужно.

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

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

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

Чем не устраивает синтаксис powershell? В чём уродливость? Возможно соглашусь с тем что powershell не POSIX-shell и попытки подражать провальны, в эмуляторе терминала со screen какого-то не работает нормально. Но писать функции на сабже, при этом описывать порядок, обязательность-необязательность, тип аргументов просто приятно(что страхует от потенциальных граблей). Доступ к библиотеке классов и даже к сисколам через интерфейс нативного вызова вообще даёт в принципе возможности ограничивающиеся фантазией. Из неприятного это то что существующие коммандлеты явно делались для хайпа и не до конца а так чтоб были (Test-Connection например юзает под капотом ANSI функцию которая один-в-один повторяет то что делает стандартный мастдайный ping.exe включая кодировку выхлопа). Если нет коммандлета то надо лепить велосипед и вынужденно юзать нативные программы с текстовым выхлопом(нивелирует весь хайп объектного подхода), либо заюзывать/разучивать классы дотнет. Но это всё не так часто и приемуществ всё-же больше..

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

У MS кстати были когда-то jscript и vbscript,

Они вроде никуда и не делись. Понадобилось мне как-то подключить яндекс-диск(ограничение - неизвестно когда появится тырнет - т.е. надо долбиться в тырнет по таймауту) как сетевой без громоздкого Яндекс.Диска - никогда не имея дела с vbscript накатал скриптик в 50 строк за полчаса. Но, мать его, когда понадобилось тоже самое сделать уже под линухой - sh-скрипт с 11ю строчками с mount во главе за 10 мин...

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

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

tar должен сдохнуть, конечно, оставшись как воспоминание `man tar - A tool for sequential writing and reading"

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

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

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

Чем не устраивает синтаксис powershell? В чём уродливость? Возможно соглашусь с тем что powershell не POSIX-shell и попытки подражать провальны

Вот в этом.

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

Как будто мало на свете ЯП, позволяющих это делать.

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

Как будто мало на свете ЯП с WinAPI модулями и FFI

Если нет коммандлета то надо лепить велосипед и вынужденно юзать нативные программы с текстовым выхлопом(нивелирует весь хайп объектного подхода), либо заюзывать/разучивать классы дотнет

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

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

Синтаксис как для языка общего назначения - нормальный. Для интерактивного шела - ужас кошмарный.

А на мой взгляд тут Эскобар.жпг

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

Лучше бы они py3 в IronPython запилили, чесслово

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

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

Нет, не чувствительно. Кроме того можно алиасы создавать для команд, команды написанные на PS или реализованные в .NET могут иметь алиасы для именованных параметров, и любой именованный параметр можно сокращать пока имя остается однозначным (например, даже если нет алиаса -args, -Arguments можно сократить до -arg, если нет других параметров начинающихся на -arg).

Пример выше можно переписать примерно вот так (если конечно дефолтные алиасы не удалять):

get-systemdjournal -args '-xe' | ? _SYSTEMD_UNIT -like '*.service' | ft _SYSTEMD_UNIT, MESSAGE | select -first 10 | oh

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

Если нет коммандлета то надо лепить велосипед и вынужденно юзать нативные программы с текстовым выхлопом(нивелирует весь хайп объектного подхода

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

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

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

Вот можно примерчик?

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

Здрасте не техническая. Линуксом на 99% потому и приятно пользоваться (тем, кому им приятно пользоваться), что он открытый. Я не говорю про бабу Варю. Я говорю про тех, кто тут вот конкретно на ЛОРе в частности сидит.

vitalif ★★★★★
()

Вообще для меня несколько странно сравнивать PS и Python. PS все таки не совсем язык программирования, или BASH это тоже язык программирования ?

Может я и ошибусь но по моему у PS такая же роль как у Груви (JAVA).

P.S. Че то мне вспомнились 9х и рекс с фидо ;)

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

Хорошо вбросил! И вентиляторы сразу подхватили. И про баш, и про питон!

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

Давно уже пора сделать для Линукса полноценный кроссплатформенный шелл

30 лет назад уже сделали. tclsh/wish называется. Видно, что майкрософт пытался сделать что-то похожее, но из колёс от перла, баша и тикиля, педалей от сишарпа и рамы от визуалбасикскрипта транспортного средства не вышло.

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

Get-SystemDJournal -args "-xe" | Where-Object {$_._SYSTEMD_UNIT -like «*.service»} | Format-Table _SYSTEMD_UNIT, MESSAGE | Select-Object -first 10 | Out-Host

Натужно блеванул от совершенно нечитаемого ПрЫгАюЩеГо overbloat-синтаксиса.

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

командлет Get-Process не просто напечатает список процессов в консоль, но и отдаст коллекцию System.Diagnostics.Process, с которыми можно оперировать, вызывая их методы.

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

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

Всё ещё намного читабельнее.

Можно выселить «инженера» из Бангалора, но Бангалор из «инженера» - никогда.

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

Проблемы с доступными ресурсами, на буковках экономим? Но сейчас не 80е :)

Причём тут доступность ресурсов и 80-е? Команды короче гораздо легче воспринимаются на глаз, а в длинном ПрЫгАюЮщЕм синтаксисе гораздо проще опечатку допустить и потом долго и натужно её искать.

Deleted
()
Ответ на: комментарий от Deleted
function getjournal(){
return(Get-SystemDJournal -args "-xe" `
| Where-Object {$_._SYSTEMD_UNIT -like «*.service»} `
| Format-Table _SYSTEMD_UNIT, MESSAGE `
| Select-Object -first 10 `
| Out-Host)
}
anonymous
()
Ответ на: комментарий от anonymous

Так ещё больше. Более нормальный синтаксис перемежается с бангалорским. Грозит быстрая шиза и выгорание.

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

Вот именно. Помимо автодополнения в терминальном окне есть также полноценное автодополнение в специальной мини-IDE, которая также содержит отладчик. Вимеры и Емаксеры молча завидуют. При том, что это именно скриптовщина для автоматизации рутины, а не ЯП общего назначения, которые тут предлагают взамен.

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

На практике у posh параллельные синтаксисы: канонический Verb-Noun для скриптов (как уже выше заметили, хорошо дополняются в ide и даже у результата дополнение работает) и короткий, на алиасах (ps, where и т.д.), для командной строки, чтобы не так много набирать. И вполне нормально сочетаются.

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

Вот именно. Помимо автодополнения в терминальном окне есть также полноценное автодополнение в специальной мини-IDE, которая также содержит отладчик. Вимеры и Емаксеры молча завидуют. При том, что это именно скриптовщина для автоматизации рутины, а не ЯП общего назначения, которые тут предлагают взамен.

Печаль то, что эта IDE есть только в винде т.к. юзает вовсю классы с реализацией ГИП, прибитые гвоздями в вин_апи. А так да, REPL из коробки, разработка в образе, встроенная помощь что ещё надо человеку для спокойствия. Под линь есть vscode с плагином но за красивостью там корявость электрона и его тормознутость, нет интерпорабельности с мастдаем..

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