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 ()
Ответ на: комментарий от annulen

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

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

Майкрософт - враг FSF и Open Source. Кому еще это непонятно, человеку разместившему эту говноновость или человеку подтвердившему эту говноновость. Почему вы спорите со Злом, что круче bash или Power Shell? Или вы специально флудите по этому поводу?

Да нет, просто и на ЛОР есть люди, которым интересны удобные инструменты, а не только церковные догматы.

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

… церковные догматы.

Церковные догматы - Слово Божье.
Бог заповедает всем друга друга любить /в хорошем понимании этого/.
Лучших догматов просто не может быть.

Другое дело, что ныне процветание словоблудия и всякую свою волю и гнусность стараются прикрыть Словом Божьим /якобы Богу это угодно/.
А ведь тем самым хулят Бога.
Проще говоря - «Волки в овечьей шкуре».

Потому ныне и процветает безверие и вражда к Богу.
Мол церковники пузатые только и делают, что прикрываютcя Богом, а сами …

ДА ТАКОГО РОДА ГАДОСТИ МНОГО.

Не тот верующий кто говорит «Боже, Боже, Боже …», а кто Славу Ему воздает и живет по заповедям Бога, а не по «понятиям».

Владимир

anonymous
()

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

gci -r -i *.class | foreach { javap $_ > $_.p }

Кратко и понятно. На баше небось была бы полная лажа.

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

Почему вы спорите со Злом

почему мы спорим с идиотами типа тебя. вот это да, хороший вопрос.

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

Бог заповедает всем друга друга любить /в хорошем понимании этого/.

Правильно, ибо зачем бог создавал половые органы если не для любви.

Grzegorz

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

Где find-alias функция

 1 0052 >>> (get-command find-alias).scriptblock
param($command)

    get-alias |
    where { $_.referencedcommand -imatch $command } |
    foreach { $_.name }

 1 0053 >>> 

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

Что стоит проверить? Возьми цмдлет New-PSDrive, или в новой версии New-SmbShare.

Что бы проверить что-то нафиг не нужное, надо сначала установить это нафиг не нужное. А у меня этого нафиг ненужного нэма и устанавливать не собираюсь.

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

Подскажите, этот Powershell собирается в mono или он привязан к распоследним наворотам DotNet Core v3.x?

DotNet Core может работать без systemD?

Вроде бы все хорошо, потому что наблюдаю DotNet в самом свободном поддерживаемом дистре:

https://www.parabola.nu/packages/community/x86_64/dotnet-sdk/

зависимостей от гнусного системГ не вижу.

Удастся ли собрать Powershell в Parabola?

А зачем он вообще нужен ваш Powershell при наличии cs-script? https://github.com/oleg-shilo/cs-script

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

главное что не пробовал а у тебя мнение есть.

Обрати внимание я написал «не думаю» а не «утверждаю». А мнение основано исключительно на виденных ранее скриптах ps которые весьма многословны в части команд.

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

Не понял почему эти вопросы ко мне? Адресуйте их тем кто его использует.

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

Смысла его собирать, имхо, нет. Он распространяется как в виде пакетов rpm, deb, так и в виде архивов. Так же есть snap (но он хуже по функционалу). Не уверен, что он завязан на systemd, скорее нет.

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

dimez запрещает иметь мнения отличные от его хозяев?

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

Хорошая штука. Намедни писал скрипт, вызвать программу для всех файлов рекурсивно.
gci -r -i *.class | foreach { javap $_ > $_.p }
Кратко и понятно.

Директории с именами *.class тоже «посчитает»?

На баше небось была бы полная лажа.

man find и кстати работает без всяких лишних пайпов.

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

которые весьма многословны в части команд

Скрипт должен быть читаемым, поэтому в них и прописывают полные названия команд и параметров. В повседневном использовании, как шелла, вся эта писанина ужимается на 70%, используются псевдонимы, сокращаются названия параметров, в результате получаются удобные для терминала конструкции. Не хочешь сокращать, есть клавиша TAB, дополняющая и названия команд, их параметров и путей (как в bash).

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

man find и кстати работает без всяких лишних пайпов.

Никто не запрещает использовать утилиты, если они не builtin.

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

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

Уж простите, но формулировка Get-ChildItem у меня слабо ассоциируется с получением списка файлов.
ЗЫ Ранее в другой теме я уже упоминал, что имхо все это тяжелое наследие ещё с win api идет. Мне приходилось его использовать, названия как функций так и структур это просто взрыв мозга, никакой логики в названиях. Автодополнение не спасет. Постоянно открытый хелп по win api и только поиском по нему.

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

Ш

Директории с именами *.class тоже «посчитает»?

Да. Благо у меня их нет. Но это вопрос одного флага. Не существенно в данном контексте.

man find и кстати работает без всяких лишних пайпов.

Засунуть всё в одну команду? Не похоже на юникс вей. Тут скорей -print0 и while read -0 но это тот ещё костыль.

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

man find и кстати работает без всяких лишних пайпов.

Встраивать в find механизм исполнения команд с аргументами-результатами поиска - не юниксвейно, потому и лажа

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

Уж простите, но формулировка Get-ChildItem у меня слабо ассоциируется с получением списка файлов.

Почему? Есть сущность каталог. У него есть дети — это файлы.

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

Например в процессах тоже есть дети, так почему я должен догадаться что это про директории а не про процессы?

anc ★★★★★
()
Ответ на: Ш от Legioner

Засунуть всё в одну команду? Не похоже на юникс вей.

Почему в одну? Вы же вызываете внешнюю программу но при этом не плодите лишние пайпы. Вполне себе юникс вей.

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

Там есть алиасы. Некоторые прямо в этом обсуждении привели. Но тебе всё об стенку горох.

Это:

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

кто написал?
Я ответил, что «формулировка Get-ChildItem у меня слабо ассоциируется с получением списка файлов.»
Хорошо, про алиасы, gci тоже не легче.

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

Например в процессах тоже есть дети, так почему я должен догадаться что это про директории а не про процессы?

Потому что параметр по умолчанию это текущая директория. Если передать процесс, наверное вернёт список дочерних процессов.

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

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

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

Потому что параметр по умолчанию это текущая директория.

«Маша ты за хлебом?» Сначала нужно догадаться что Get-ChildItem это про получение списка файлов, а уж потом изучать параметры.

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

Если в имени файла пробел или перевод строки, сработает?

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

Букавок меньше. А когда у вас сотня функций начинается со слова Get даже автодополнение не особо спасет. Что-то в духе Get TAB матьматьмать что из них про файлы?

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

Давайте вернемся к вашему посту

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

Для выполнения вашего «Кратко и понятно» согласно ОП, нам потребуется
1. .NET Core 3.1
2. Сам PS который не для всех дистров.
Т.е. установить кучу ненужного которое ещё и памяти сожрет при выполнении.

Теперь

На баше небось была бы полная лажа.

find который есть во всех дистрах занимает меньше места и жрет меньше памяти и именно «Кратко и понятно»

Так вот скажите в чем же профит вашего примера?

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

find есть во всех дистрах. хм. хочу такой же пример но для компании в которой пару сотен компов на винде. расскажи мне про возникщий из ниоткуда на них баш и т.д.

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

Сначала нужно догадаться что Get-ChildItem это про получение списка файлов

Этимология ls тоже не ясна, listing сразу на ум не приходит. Все нужно учить и запоминать, а не надеяться на интуитивную понятность.

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

find есть во всех дистрах. хм. хочу такой же пример но для компании в которой пару сотен компов на винде. расскажи мне про возникщий из ниоткуда на них баш и т.д.

Вам не показалось, что ваш вопрос не соответствует теме топика? Ровно с таким же успехом я могу написать, а если у меня пару сотен компов на mac os или freebsd или linux не из списка. Перефразируя вас «расскажи мне про возникщий из ниоткуда на них PS и т.д.»

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